Bảng điểm

Đề bài

Mô tả

Cho một bảng gồm n hàng và m cột. Ta có thể đánh dấu một số ô của bảng, mỗi ô đánh dấu nhiều nhất một điểm.

Một bảng con vuông kích thước n×n là một khối gồm n hàng và n cột liên tiếp của bảng. Hãy đếm số cách đánh dấu điểm sao cho mọi bảng con vuông kích thước n×n đều chứa đúng k điểm.

Hai cách đánh dấu được coi là khác nhau nếu tồn tại một ô có điểm ở cách này nhưng không có điểm ở cách kia.

Vì kết quả có thể rất lớn, hãy in ra phần dư của nó khi chia cho 109+7.

Dữ liệu vào

Một dòng duy nhất chứa ba số nguyên n, m, k.

Dữ liệu ra

In ra một số nguyên duy nhất: số cách đánh dấu thỏa mãn, lấy phần dư khi chia cho 109+7.

Ràng buộc

  • 1n100
  • nm1018
  • 0kn2

Ví dụ

Input Output Giải thích
5 6 1 45 Bảng 5×6, mỗi hình vuông 5×5 phải chứa đúng 1 điểm. Có hai hình vuông 5×5 chồng lên nhau ở phần giữa (cột 2 đến 5). Nếu điểm nằm trong phần giao thì hai ô ngoài không được có điểm: 5·4=20 cách. Nếu mỗi phần riêng có một điểm thì cả hai phần đều phải có: 5·5=25 cách. Tổng cộng 45 cách.
2 500000000000000000 2 262146 Bảng 2×m, mỗi hình vuông 2×2 có đúng 2 điểm.
1 1000000000000000000 0 1 Không ô nào được đánh dấu, đúng một cách.

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.400 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.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0