trang chủ / đề bài / tablepts

TABLE — Bảng điểm

Đề bài

Mô tả

Cho một bảng gồm n dòng và m cột. Bạn được phép tô điểm vào một số ô của bảng, mỗi ô tô không quá một điểm (điểm được tô đúng vào tâm ô).

Bạn muốn việc tô thoả mãn điều kiện sau: mọi bảng con vuông kích thước n×n (gồm n dòng và n cột liên tiếp) đều chứa đúng k điểm.

Hãy đếm số cách tô bảng thoả mãn điều kiện trên. 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.

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

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 tô bảng thoả mãn, lấy phần dư khi chia cho 109+7.

Ràng buộc

  • 1≤n≤100
  • n≤m≤1018
  • 0≤k≤n2

Ví dụ

Input Output Giải thích
5 6 1 45 Bảng 5×6 có hai bảng con 5×5 (cột 1..5 và cột 2..6), chúng giao nhau ở vùng cột 2..5. Nếu điểm nằm trong vùng giao thì cả hai bảng con đều nhận được điểm đó: có 20 ô như vậy. Nếu điểm nằm ở cột 1 thì phải có một điểm tương ứng ở cột 6 để bảng con thứ hai cũng đủ 1 điểm: có 5×5=25 khả năng. Tổng cộng 20+25=45.
1 1000000000000000000 0 1 Khi n=1, mỗi bảng con 1×1 là một ô và phải chứa 0 điểm, nên toàn bộ bảng không được tô điểm nào. Đúng một cách.
5 37 25 1 Với k=n2=25, mỗi bảng con 5×5 phải được tô kín toàn bộ, buộc mọi cột đều phải tô đủ 5 điểm. Chỉ có duy nhất 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.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