Cây nhị phân
Cho xâu ký tự và 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 .
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 bằng cách duyệt lần lượt các ký tự của xâu 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 đó . Đương nhiên, nếu là xâu rỗng thì 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 (mỗi xâu con của nhận được 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 đều là xâu con của ).
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 , 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 (), là số lượng bộ dữ liệu vào.
- Mỗi bộ dữ liệu vào gồm 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 (dòng đầu) hoặc xâu (dòng tiếp theo). Độ dài mỗi xâu , đều không vượt quá ().
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 ().
Ràng buộc
- Độ dài mỗi xâu , không vượt quá .
- 30% test: tổng độ dài các xâu và không vượt quá .
- 50% test: xâu là xâu rỗng (độ dài bằng ).
- 90% test: hạn chế bộ nhớ chương trình là MB.
- 5% test: hạn chế bộ nhớ chương trình là MB.
- 5% test: hạn chế bộ nhớ chương trình là MB.
- Thời gian hạn chế cho mỗi file test là 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
hi bạnbạn
pro
:))
hi ae