trang chủ / bài tập / gamerect

Trò chơi với hình chữ nhật

Đề bài

Mô tả

An và Mai chơi một trò chơi trên giấy kẻ ô. Ban đầu trên giấy có một hình chữ nhật kích thước n×m (chỉ vẽ đường viền, không tô đầy), các cạnh nằm dọc theo các đường kẻ ô.

An đi trước, hai người lần lượt đi. Mỗi lượt đi, người chơi phải vẽ một hình chữ nhật mới (cũng chỉ vẽ đường viền, các cạnh dọc theo đường kẻ ô) nằm hoàn toàn bên trong hình chữ nhật được vẽ ở lượt ngay trước đó, sao cho hình mới và hình trước đó không có điểm chung nào.

Không ai thắng, hai người chỉ chơi cho đến khi thực hiện tổng cộng k lượt đi. Hãy đếm số cách chơi khác nhau.

Hai cách chơi được coi là khác nhau nếu bức tranh cuối cùng khác nhau (tức là tồn tại một hình chữ nhật xuất hiện trong cách này nhưng không xuất hiện trong cách kia).

Vì kết quả có thể rất lớn, hãy in ra phần dư 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 là số cách chơi, lấy phần dư theo modulo 109+7.

Ràng buộc

  • 1n,m,k1000

Ví dụ

Input Output Giải thích
3 3 1 1 An chỉ có một cách: vẽ một ô vuông 1×1 vào chính giữa hình 3×3.
4 4 1 9 An có 9 cách: 4 cách vẽ ô vuông 1×1, 2 cách đặt hình 1×2 dọc, 2 cách đặt ngang, và 1 cách vẽ ô vuông 2×2.
6 7 2 75 Chọn 4 đường ngang trong 5 đường bên trong: (54)=5 cách; chọn 4 đường dọc trong 6 đường: (64)=15 cách; tổng cộng 5×15=75.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0