Nhảy lò cò
Xem PDFHôm nay, vì mải lo đi mua trà sữa cho crush mà Bảo Anh đến lớp muộn tận 30 phút. Thầy chủ nhiệm rất không hài lòng và phạt Bảo Anh phải nhảy lò cò quanh sân thể dục của trường. Sân thể dục là một lưới hình chữ nhật có kích thước \(N * M\) ô vuông và Bảo Anh phải nhảy từ ô \((1, 1)\) đến ô \((N, M)\) của sân trường. Thấy việc này quá dễ, Bảo Anh quyết định tăng độ khó cho thử thách. Bảo Anh đánh dấu nhãn các ô vuông bởi các giá trị nguyên có giá trị từ \(1\) đến \(K\) và cậu chỉ có thể nhảy từ ô hiện tại đến một ô khác nếu:
- Nhãn của ô cậu nhảy đến phải khác với nhãn của ô hiện tại.
- Ô mà cậu nhảy đến phải ở bên dưới ít nhất 1 hàng so với ô hiện tại.
- Ô mà cậu nhảy đến phải ở bên phải ít nhất 1 cột so với ô hiện tại.
Cảm thấy cũng chưa đủ khó, Bảo Anh muốn tính xem có bao nhiêu cách nhảy thỏa mãn khác nhau nếu cậu xuất phát từ ô \((1, 1)\) và kết thúc tại ô \((N, M)\). Tuy nhiên, vì đang bận tương tư nên Bảo Anh không thể tập trung giải quyết bài toán, bạn hãy giúp cậu ấy nhé.
INPUT
- Dòng đầu tiên gồm 3 số nguyên dương \(N, M, K\) \((2 \leq N, M \leq 750, 1 \leq K \leq N * M)\)
- \(N\) dòng tiếp theo chứa \(M\) số nguyên dương. Số thứ \(j\) của dòng \(i\) chứa số nguyên dương \(a_i,_j\) \((1 \leq a_i,_j \leq K)\)
OUTPUT
In ra số nguyên là số cách nhảy thỏa mãn khác nhau. Vì đáp số có thể rất lớn, nên bạn cần in kết quả khi chia lấy dư cho \(10^9 + 7\).
VÍ DỤ:
INPUT:
4 4 4
1 1 1 1
1 3 2 1
1 2 4 1
1 1 1 1
OUTPUT:
5
**Ràng buộc: **
- Subtask 1: \(\ 2 \leq N, M \leq 100\)
- Subtask 2: \(\ 2 \leq N, M \leq 750\)
Kỳ thi:
- USACO 2015 - Tháng 2 - Hạng Bạc (1 Tháng 2., 2015)
- USACO 2015 - Tháng 2 - Hạng Vàng (1 Tháng 2., 2015)
Bình luận