trang chủ / đề bài / dt_tst_25_b

Chuỗi DNA

Đề bài

Mô tả

Alice đang nghiên cứu về mã di truyền, cô cần tạo ra các chuỗi DNA được biểu diễn bằng xâu nhị phân. Có một số mẫu nhị phân ngắn, được gọi là "mảnh vỡ cấm" có tính chất không ổn định, nếu chúng xuất hiện trong chuỗi DNA như là một xâu con liên tiếp, chúng sẽ gây ra một phản ứng dây chuyền phá hủy chuỗi.

Alice đã xác định được k mảnh vỡ cấm p1,p2,…,pk. Để đảm bảo sự ổn định, Alice phải tạo ra các chuỗi DNA nhị phân có độ dài đúng bằng n mà tránh hoàn toàn tất cả k mảnh vỡ cấm, tức là không mảnh vỡ cấm nào xuất hiện trong chuỗi như một xâu con liên tiếp.

Yêu cầu: Cho n và các xâu nhị phân p1,p2,…,pk, hãy giúp Alice đếm số lượng chuỗi DNA nhị phân tránh tất cả k mảnh vỡ cấm.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên n và k (n≤200; k≤10).
  • Dòng thứ i (1≤i≤k) trong k dòng tiếp theo chứa xâu nhị phân pi (độ dài các xâu không vượt quá n).

Dữ liệu ra

In ra một số nguyên là giá trị emod111539786, trong đó e là số chuỗi DNA nhị phân thỏa mãn và mod là phép toán chia lấy dư.

Ràng buộc

  • 1≤n≤200, 1≤k≤10;
  • mỗi pi là xâu khác rỗng chỉ gồm các kí tự 0 và 1, |pi|≤n (các mảnh vỡ có thể trùng nhau).

Subtasks

  • Có 40% số test thỏa mãn: n≤20.
  • 30% số test khác thỏa mãn: k=1.
  • 30% số test còn lại không có ràng buộc nào thêm.

Ví dụ

Input Output Giải thích
2 1
0
1 Chỉ có xâu 11 không chứa mảnh vỡ 0. (Đề gốc ghi đáp án 2, không khớp với định nghĩa xâu con liên tiếp; đã sửa thành 1.)
2 2
00
10
2 Có 4 xâu độ dài 2: 00 và 10 bị cấm, còn lại 01 và 11.
5 2
11
0110
13 Ví dụ bổ sung (không có trong đề gốc). Các xâu độ dài 5 không có hai kí tự 1 liền nhau có 13 xâu; mọi xâu chứa 0110 đều chứa 11 nên mảnh vỡ thứ hai không loại thêm xâu nào.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0