[COCI1819 - Contest 06] Bài 5: Mobitel

Xem PDF

Nộp bài

Điểm: 100 (thành phần)
Thời gian: 1.0s
Bộ nhớ: 256M
Input: bàn phím
Output: màn hình

Tác giả:
Dạng bài

Nikola nhỏ gần đây đã học được bảng cửu chương. Để tiếp tục học, cậu ấy đã nghĩ ra bài toán sau.

Cậu ấy tạo ra một bảng kích thước ~R \times S~. Trong mỗi ô của bảng, cậu viết một giá trị số nguyên và tự hỏi: Có bao nhiêu cách có thể để đi từ góc trên bên trái đến góc dưới bên phải của bảng bằng cách di chuyển mỗi bước sang phải hoặc xuống dưới, sao cho tích của tất cả các số trên đường đi (bao gồm cả ô bắt đầu và ô kết thúc) ít nhất là ~N~?

Vì hiện tại cậu không có thời gian, nên cậu đã nhờ bạn giúp đỡ. Vì số cách yêu cầu có thể rất lớn, chỉ cần in phần dư của số đó khi chia cho ~10^9 + 7~.

Input

  • Dòng đầu tiên có các số nguyên ~R, S~ ~(1 \leq R, S \leq 300)~ và ~N~ ~(1 \leq N \leq 10^6)~.
  • Trong ~R~ dòng tiếp theo, mỗi dòng có ~S~ số nguyên giữa ~1~ và ~10^6~ biểu diễn các số được viết trong mỗi ô của bảng.

Output

Trong dòng duy nhất in ra phần dư của số cách yêu cầu chia cho ~10^9 + 7~.

Chú thích

Trong các mẫu thử nghiệm có tổng giá trị ~20 \%~ điểm, sẽ có ~N \leq 300~. Trong các mẫu thử nghiệm có tổng giá trị ~20 \%~ điểm, sẽ có ~R, S \leq 100~, và tất cả các số trong bảng sẽ nhỏ hơn hoặc bằng ~10~. Trong các mẫu thử nghiệm có tổng giá trị bổ sung ~30 \%~, sẽ có ~R, S \leq 100~.

Sample Input 1

2 3 200
2 3 4
5 6 7

Sample Output 1

2

Sample Input 2

3 3 90
2 1 1
45 1 1
1 1 1

Sample Output 2

3

Sample Input 3

2 5 3000
1 2 3 4 5
6 7 8 9 10

Sample Output 3

3

Giải thích

Trong test đầu tiên, có ba cách khả dĩ:

  • ~2 \Rightarrow 3 \Rightarrow 4 \Rightarrow 7~ - tổng tích là ~168~
  • ~2 \Rightarrow 3 \Rightarrow 6 \Rightarrow 7~ - tổng tích là ~252~
  • ~2 \Rightarrow 5 \Rightarrow 6 \Rightarrow 7~ - tổng tích là ~420~

Bình luận đầu tiên

Bình luận

Không có bình luận nào.