trang chủ / đề bài / thhv19_ctn_10_c

Tìm kiếm kho báu

Đề bài

Mô tả

Dante cùng nhóm bạn chơi trò chơi truy tìm kho báu. Bản đồ kho báu dẫn Dante đến một đầm lầy, theo đúng như bản đồ thì để tìm được kho báu thì Dante phải đi qua đầm lầy, biết rằng qua đầm lầy có một cây cầu gỗ gồm n nhịp. Các nhịp cầu được đánh số từ 1 đến n từ trái qua phải. Dante có thể bước một bước, hoặc bước hai bước. Tuy nhiên một số nhịp cầu đã bị thủng do cũ kỹ và Dante không thể bước chân lên được. Dante đứng ở một bên đầu cầu và muốn biết có bao nhiêu cách để qua cầu. Dante nhờ bạn lập trình trả lời câu hỏi trên.

Cụ thể, ban đầu Dante đứng ở đầu cầu bên trái (coi là vị trí 0, ngay trước nhịp 1). Mỗi bước, Dante đi từ vị trí i đến vị trí i+1 (bước một bước) hoặc i+2 (bước hai bước, bỏ qua nhịp i+1 dù nhịp đó có bị thủng hay không), và không được đặt chân lên nhịp bị thủng. Dante qua được cầu khi đứng trên nhịp thứ n. Hai cách được coi là khác nhau nếu dãy các vị trí Dante đặt chân lên khác nhau.

Yêu cầu: Tính số cách để Dante qua cầu, kết quả lấy dư cho 26051968.

Dữ liệu vào

  • Dòng đầu tiên gồm 2 số nguyên n và k, là số nhịp của cây cầu và số nhịp cầu bị hỏng.
  • Dòng thứ hai gồm k số nguyên cho biết chỉ số của các nhịp cầu bị hỏng theo thứ tự tăng dần (dòng này rỗng nếu k=0).

Dữ liệu ra

In ra phần dư của số cách Dante qua cầu khi chia cho 26051968.

Ràng buộc

  • 0≤k<n≤100000.
  • Chỉ số các nhịp hỏng nằm trong đoạn [1,n] và tăng ngặt.

Ví dụ

Input Output Giải thích
4 2
2 3
0 Từ vị trí 0 chỉ đến được nhịp 1; từ nhịp 1 không thể bước lên nhịp 2 hay nhịp 3 vì cả hai đều thủng.
90000 1
49000
19072359
1 0
1 Chỉ có một cách: bước một bước lên nhịp 1.
3 1
3
0 Nhịp cuối cùng (nhịp 3) bị thủng nên Dante không thể đứng trên nhịp n.
2 1
1
1 Dante bước hai bước từ đầu cầu thẳng lên nhịp 2, bỏ qua nhịp 1 bị thủng.

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