Bụi cây gốc

Đề bài

Mô tả

Ta định nghĩa Bụi cây gốc (RDB) cấp n là một cây có gốc được xây dựng như sau:

  • RDB cấp 1 là một đỉnh duy nhất.
  • Để dựng RDB cấp i, trước hết dựng RDB cấp i1, sau đó với mỗi đỉnh u:
    • nếu u chưa có con nào thì thêm cho u đúng một con;
    • nếu u có đúng một con thì thêm cho u hai con (thành ba con);
    • nếu u có nhiều hơn một con thì bỏ qua u.

Một cái vuốt (claw) là một cây gốc gồm bốn đỉnh: một đỉnh gốc (gọi là tâm) và ba con của nó.

Ban đầu mọi đỉnh của RDB đều màu xanh. Trong một nước đi, ta chọn một cái vuốt nằm trong cây sao cho cả bốn đỉnh của nó đều còn xanh và cả ba đỉnh còn lại đều là con trực tiếp của tâm, rồi tô cả bốn đỉnh đó thành màu vàng.

Cho RDB cấp n. Hãy tìm số đỉnh màu vàng lớn nhất có thể đạt được. Vì đáp số có thể rất lớn, in ra kết quả theo modulo 109+7.

Dữ liệu vào

  • Dòng đầu chứa một số nguyên t: số lượng truy vấn.
  • t dòng tiếp theo, mỗi dòng chứa một số nguyên n: cấp của RDB trong truy vấn tương ứng.

Dữ liệu ra

  • Với mỗi truy vấn, in ra trên một dòng số đỉnh vàng lớn nhất theo modulo 109+7.

Ràng buộc

  • 1t104
  • 1n2·106

Ví dụ

Input Output Giải thích
7
1
2
3
4
5
100
2000000
0
0
4
4
12
990998587
804665184
RDB cấp 12 không có cái vuốt nào nên đáp số là 0. RDB cấp 3 có đúng một cái vuốt (gốc và ba con của nó) nên tô được 4 đỉnh.
2
6
7
24
48
RDB cấp 6 tô được 6 cái vuốt (24 đỉnh), RDB cấp 7 tô được 12 cái vuốt (48 đỉnh).

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0