Tìm đường đi trong mỏ vàng có tổng trữ lượng lớn nhất
Điểm số: 1
Giới hạn thời gian: 1s
Giới hạn bộ nhớ: 512 MB
Người đăng: ICTU
Cho một lưới mỏ vàng G là một ma trận có kích thước m*n. Mỗi ô trong trong mỏ vàng là một số nguyên biểu diễn lượng vàng tại ô đó (nếu ô nhận giá trị 0 có nghĩa là không có vàng). Tìm tổng lượng vàng lớn nhất trên lưới mà chúng ta có thể thu thập sao cho thỏa mãn các điều kiện sau đây:
- Tại mỗi ô, chúng ta có thể thu thập được toàn bộ lượng vàng tại ô đó.
- Tại một ô bất kì chúng ta có thể di chuyển: lên trên, xuống dưới, sang trái, sang phải.
- Chúng ta không thể thăm cùng một ô nhiều lần
- Không thăm ô có lượng vàng là 0.
- Chúng ta có thể bắt đầu và kết thúc việc thu thập vàng từ một ô bất kì trong mỏ (lưới) có lượng vàng >0
Input: Đầu vào bao gồm:
- Dòng 1: Chứa hai số nguyên m và n cách nhau bởi 1 dấu cách là kích thước của lưới mỏ vàng (1<=m,n<=15).
- m dòng tiếp theo chứa n số nguyên chỉ trữ lượng vàng tại mỗi ô trong mỏ vàng, mỗi số nguyên cách nhau bởi 1 dấu cách (0<=G[i][j]<=100)
Output: là số nguyên M biểu diễn tổng số lượng vàng lớn nhất trên đường đi thỏa mãn các điều kiện trên (đường đi được đánh dấu màu đỏ như ví dụ)
Ví dụ:
Input |
Output |
3 3 0 6 0 5 8 7 0 9 0 |
24 |
5 3
1 0 7
2 0 6
3 4 5
0 3 0
9 0 20
|
28 |