Đá Phép
Đề bài
Mô tả
Reziba có rất nhiều viên đá phép. Mỗi viên đá phép có thể được tách thành viên đá thường. Một viên đá (dù là đá phép hay đá thường) chiếm đúng đơn vị không gian, và một viên đá thường thì không thể tách tiếp.
Reziba muốn chọn một tập các viên đá phép rồi tách một số viên trong đó, sao cho tổng không gian bị chiếm bởi tập đá thu được đúng bằng đơn vị. Nếu một viên đá phép được chọn và được tách, nó chiếm đơn vị không gian (vì biến thành viên đá thường); nếu viên đá phép được chọn nhưng không tách, nó chiếm đơn vị.
Hỏi có bao nhiêu cấu hình khác nhau của tập đá thu được sao cho tổng không gian chiếm đúng đơn vị? In ra kết quả theo modulo .
Hai cấu hình được xem là khác nhau nếu số viên đá phép mà Reziba lấy để tạo thành chúng khác nhau, hoặc vị trí (thứ tự) các viên đá bị tách khác nhau. Nói cách khác, một cấu hình là một dãy các viên đá xếp theo thứ tự, mỗi viên hoặc chiếm đơn vị (đá không tách) hoặc chiếm đơn vị (đá đã tách), với tổng độ dài bằng .
Dữ liệu vào
Một dòng duy nhất gồm hai số nguyên và .
Dữ liệu ra
In ra một số nguyên duy nhất — tổng số cấu hình, theo modulo .
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 2 | 5 | Ký hiệu 1 là viên đá không tách (chiếm 1 đơn vị), 0 là viên đá đã tách thành 2 đá thường (chiếm 2 đơn vị). Các cấu hình có tổng 4 đơn vị: 1111, 0011, 1001, 1100, 0000 — tất cả 5 cấu hình. |
| 3 2 | 3 | Các cấu hình độ dài 3: 111, 001, 100 — tổng cộng 3 cấu hình. |
Bình luận