trang chủ / đề bài / dhbb23_lqddb_10_c

Lát phòng hợp mốt

Đề bài

Mô tả

Sau khi có kết quả thi Duyên Hải Đồng Bằng Bắc Bộ năm 2022, cô S quyết định ăn mừng bằng cách lát lại sàn phòng học Đội tuyển Tin. Để sàn nhà sau khi lát hợp mốt, cô S quyết định lát sàn nhà bằng các viên gạch hình vuông kích cỡ 1×1, mỗi viên gạch có màu trắng hoặc đen. Ngoài ra, trong bốn viên gạch bất kì tạo thành một hình vuông 2×2 phải có ít nhất một viên gạch màu đen và một viên gạch màu trắng.

Giả sử phòng học Đội tuyển Tin của cô S có kích cỡ 3×3. Ký hiệu B là gạch đen, W là gạch trắng, mỗi cách lát viết thành ba hàng từ trên xuống. Khi đó các cách lát sau là hợp mốt:

  • WWW / WBW / WWW (chỉ viên gạch chính giữa màu đen);
  • BWB / WWW / BWB (bốn viên gạch ở góc màu đen);
  • WBW / BWB / WBW (xen kẽ như bàn cờ, viên gạch ở góc màu trắng);

và các cách lát sau là không hợp mốt:

  • WWW / WWW / WWW (toàn trắng);
  • BWW / WWW / BWB (hình vuông 2×2 ở góc trên bên phải toàn trắng);
  • WBB / WBB / WWW (hình vuông 2×2 ở góc trên bên phải toàn đen).

Khi đang lát gạch, cô S tự dưng nghĩ ra bài toán sau: biết kích cỡ phòng học Đội tuyển Tin là N×M (N hàng, M cột), hãy tính phần dư khi chia số cách lát phòng học hợp mốt cho P. Hai cách lát là khác nhau nếu có ít nhất một vị trí mà hai viên gạch ở đó khác màu.

Dữ liệu vào

Một dòng duy nhất chứa ba số nguyên N, M, P (1≤N≤10200; 1≤M≤5; 1≤P≤10000). Số N được viết không có chữ số 0 ở đầu và có thể có tới 201 chữ số.

Dữ liệu ra

Một dòng duy nhất chứa một số nguyên là phần dư khi chia số cách lát phòng học hợp mốt cho P.

Ràng buộc

  • 1≤N≤10200
  • 1≤M≤5
  • 1≤P≤10000

Subtasks

Điểm được tính theo từng test.

  • Subtask 1 (30% số test): N≤1020; P≤100.
  • Subtask 2 (30% số test): N≤10100; P≤1000.
  • Subtask 3 (40% số test): không có ràng buộc gì thêm.

Ví dụ

Input Output Giải thích
2 2 5 4 Sàn 2×2 có 24=16 cách lát, trừ hai cách toàn trắng và toàn đen còn 14 cách hợp mốt; 14 chia 5 dư 4.
3 3 23 0 Sàn 3×3 có 322 cách lát hợp mốt, 322=14·23.

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