Cây nhị phân

Đề bài

Mô tả

Cho 2 xâu ký tự ST trong đó nếu xâu nào khác rỗng thì chỉ gồm các ký tự thuộc tập hợp {U,L,R}.

Xét một cây nhị phân vô hạn, mỗi nút trên cây có đúng một nút cha và hai nút con (nút cha của nút gốc là chính nó). Xuất phát từ nút gốc, ta có thể di chuyển trên cây đã cho nhờ xâu S bằng cách duyệt lần lượt các ký tự của xâu S theo quy tắc: L là chuyển sang nút con trái, R là sang nút con phải và U là chuyển về nút cha. Quá trình này kết thúc tại nút nào đó X. Đương nhiên, nếu S là xâu rỗng thì X chính là nút gốc.

Ký hiệu Ω là tập hợp tất cả các xâu con của xâu T (mỗi xâu con của T nhận được từ T bằng cách xoá bỏ một số tuỳ ý các ký tự của nó; xâu rỗng và bản thân T đều là xâu con của T).

Hãy cho biết số nút khác nhau trên cây có thể di chuyển đến được, bắt đầu từ nút X, bằng cách di chuyển trên cây nhờ tất cả các xâu trong Ω.

Dữ liệu vào

  • Dòng đầu ghi số nguyên T (T50), là số lượng bộ dữ liệu vào.
  • Mỗi bộ dữ liệu vào gồm 2 dòng liên tiếp trong đó mỗi dòng bắt đầu bằng ký tự # và tiếp theo là xâu S (dòng đầu) hoặc xâu T (dòng tiếp theo). Độ dài mỗi xâu S, T đều không vượt quá 100000 (105).

Dữ liệu ra

Các số nguyên, mỗi số trên một dòng, là kết quả tìm được tương ứng với bộ dữ liệu vào. Các kết quả cần được lấy là dư của phép chia cho 100000000 (108).

Ràng buộc

  • T50
  • Độ dài mỗi xâu S, T không vượt quá 105.
  • 30% test: tổng độ dài các xâu ST không vượt quá 22.
  • 50% test: xâu S là xâu rỗng (độ dài bằng 0).
  • 90% test: hạn chế bộ nhớ chương trình là 32MB.
  • 5% test: hạn chế bộ nhớ chương trình là 2MB.
  • 5% test: hạn chế bộ nhớ chương trình là 1MB.
  • Thời gian hạn chế cho mỗi file test là 1 giây.

Ví dụ

Input Output Giải thích
5
#
#LL
#LR
#
#LU
#RLL
#
#
#LR
#RLUL
3
1
6
1
8

Bình luận

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