Trại hè Hùng Vương 2019 - Nhảy về đích
Xem dạng PDFTrong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Xét bảng hình chữ nhật kích thước ~m \times n~ ô. Các hàng được đánh số từ ~1~ đến ~m~ từ trên xuống dưới, các cột được đánh số từ ~1~ đến ~n~ từ trái qua phải. Ô nằm trên hàng ~i~ và cột ~j~ được ghi một số nguyên dương không âm ký hiệu ~C_{i,j}~. Ở góc trên bên trái bảng có một quân cờ. Ta phải di chuyển quân cờ về ô dưới phải của bảng theo quy tắc sau:
- Tại mỗi bước nhảy, chỉ được di chuyển sang phải trên cùng một hàng hoặc di chuyển xuống dưới theo cùng một cột.
- Kích thước bước nhảy không được vượt quá số ghi trên ô có quân cờ hiện tại.
- Chỉ được di chuyển trong phạm vi bảng đang xét.
Kích thước của bước nhảy từ ô ~(i, j)~ tới ô ~(u, v)~ được tính bằng giá trị ~u + v - i - j~.
Yêu cầu: Cho dãy ~a_1, a_2, \dots, a_m, b_1, b_2, \dots, b_n~ và số nguyên dương ~k~. Bảng ~C~ kích thước ~m \times n~ được xác định với ~C_{i,j} = 1 + [(a_i + b_j) \pmod k]~ với mọi ~i = 1 \dots m; j = 1 \dots n~. Hãy tính số lượng cách di chuyển quân cờ từ ô trên trái ~(1, 1)~ xuống ô dưới phải ~(m, n)~.
Input
- Dòng đầu chứa ~3~ số nguyên dương ~m, n, k~ (~m, n, k \le 4 \cdot 10^3~).
- Dòng thứ hai chứa ~m~ số nguyên ~a_1, a_2, \dots, a_m~ (~0 \le a_i \le 10^9~).
- Dòng thứ ba chứa ~n~ số nguyên ~b_1, b_2, \dots, b_n~ (~0 \le b_i \le 10^9~).
Output
- Một số nguyên duy nhất là số cách di chuyển tìm được lấy theo module ~10^9 + 7~.
Sample Input 1
3 2 1
3 4 11
2 5
Sample Output 1
3
Sample Input 2
3 2 2
3 4 11
2 5
Sample Output 2
4
Subtasks
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| 1 | ~15~ | ~m, n \le 10, k = 1~. |
| 2 | ~15~ | ~m, n \le 10^3, k = 1~. |
| 3 | ~20~ | ~m, n \le 10^3, k \le 10~. |
| 4 | ~20~ | ~m, n \le 10^3~. |
| 5 | ~30~ | Không có điều kiện gì thêm. |
Bình luận