trang chủ / đề bài / icpc21_nat_h

Lát gạch hành lang

Đề bài

Mô tả

Năm ngoái, khuôn viên trường Đại học FPT được dùng làm khu cách ly cho bệnh nhân COVID-19. Hiện nay, số ca mắc mới mỗi ngày đã giảm đáng kể và khuôn viên đã trở lại là môi trường đại học bình thường. Nhà trường quyết định lát lại gạch hành lang.

Hành lang của trường Đại học FPT có dạng hình chữ nhật kích thước r×n, và sẽ được lát lại bằng các viên gạch men kích thước 1×2 (có thể đặt ngang hoặc dọc). Trên hành lang có k vị trí là cột trụ, các vị trí này không được lát gạch. Mọi ô còn lại phải được lát, và các viên gạch không được chồng lên nhau.

Hãy đếm số cách lát lại hành lang.

Dữ liệu vào

  • Dòng đầu tiên chứa ba số nguyên r, n và k.
  • k dòng tiếp theo, mỗi dòng chứa hai số nguyên x và y (1≤x≤r, 1≤y≤n) mô tả vị trí của một cột trụ (hàng x, cột y). Không có hai cột trụ nào ở cùng một vị trí.

Dữ liệu ra

In ra một số nguyên là số cách lát lại hành lang. Vì số này có thể rất lớn, hãy in ra phần dư khi chia cho 109+7.

Ràng buộc

  • 1≤r≤6.
  • 1≤n≤1012.
  • 0≤k≤10.

Ví dụ

Input Output Giải thích
3 4 2
2 2
2 3
2 Hai cột trụ ở ô (2,2) và (2,3). Hai ô (2,1) và (2,4) chỉ lát được bằng gạch dọc, và phải cùng nối lên hàng 1 hoặc cùng nối xuống hàng 3; các ô còn lại lát bằng gạch ngang.
2 3 0 3 Ví dụ bổ sung (không có trong đề gốc). Hành lang 2×3 không có cột trụ có 3 cách lát.

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