Bài 3: Move (TS10 PTNK thi thử lần 1 - 2026)
Xem PDF
Điểm:
1500 (p)
Thời gian:
1.0s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Một robot di chuyển trong một bảng lưới ô vuông kích thước \(m \times n\). Ô ở dòng \(i\) và cột \(j\) kí hiệu \((i, j)\). Khi di chuyển đến ô \((i, j)\), năng lượng của robot được tăng thêm \(a_{ij}\) đơn vị. Robot xuất phát từ ô \((1, 1)\) và di chuyển đến ô \((m, n)\). Tại mỗi bước, robot chỉ được phép di chuyển sang ô chung cạnh bên phải hoặc ô chung cạnh bên dưới. Để kích hoạt cổng thoát tại ô \((m, n)\) và hoàn thành lộ trình, tổng năng lượng mà robot thu thập được trên toàn bộ lộ trình là lớn nhất và chia hết cho \(k\).
Yêu cầu
Tìm tổng năng lượng lớn nhất mà robot nhận được trên lộ trình thỏa yêu cầu.
Input
- Dòng đầu tiên chứa 3 số nguyên dương \(m, n, k\) (\(1 \le m, n \le 500\); \(1 \le k \le 200\)).
- Dòng thứ \(i\) trong \(m\) dòng tiếp theo chứa \(n\) số nguyên, số thứ \(j\) là \(a_{ij}\) (\(1 \le a_{ij} \le 10^6\)).
Output
- Một số nguyên là tổng năng lượng lớn nhất chia hết cho \(k\). Nếu không tồn tại lộ trình thỏa yêu cầu thì in ra \(-1\).
Example
Test 1
Input
5 7 11
2 5 3 1 8 4 6
7 1 9 2 5 3 1
4 6 2 8 1 7 5
9 3 5 1 4 2 8
1 7 4 6 2 9 3
Output
44
Test 2
Input
5 7 30
2 5 3 1 8 4 6
7 1 9 2 5 3 1
4 6 2 8 1 7 5
9 3 5 1 4 2 8
1 7 4 6 2 9 3
Output
-1
Scoring
- Subtask \(1\) (\(20\%\) số điểm): \(m, n, k \le 10\).
- Subtask \(2\) (\(30\%\) số điểm): \(m, n \le 500; k = 1\).
- Subtask \(3\) (\(50\%\) số điểm): không có ràng buộc gì thêm.
Kỳ thi:
- Thi thử đợt 1 tuyển sinh lớp 10 Chuyên PTNK 2026 (28 Tháng ba, 2026)
Bình luận