Nội dung Bài tập
Mã:
CAU3
Tên:
CAU3
Dạng thi:
oi
Thang điểm:
3 điểm
Giới hạn thời gian:
1 giây
Giới hạn bộ nhớ:
256 MB
Được tạo bởi:
thuthq

Bài toán Robot di chuyển trên một ma trận.

Cho một ma trận NxM ô, mỗi ô chứa thông tin như sau:

0: ô có thể đi đến

#: ô không thể đi đến

x: được cộng thêm x năng lượng.

-x: bị giảm thêm x năng lượng.

(với x là 1 số nguyên dương từ 1 đến 100)

Một con robot có thể di chuyển theo hướng đi qua phải, hoặc đi xuống (mỗi lần đi một ô). Ban đầu robot có K năng lượng dùng để di chuyển, mỗi lần di chuyển sang một ô năng lượng sẽ giảm đi 1 (đơn vị). Nếu năng lượng của robot bằng 0 thì sẽ không di chuyển được.

Yêu cầu là hãy xác định xem robot có thể di chuyển từ vị trí A có thể đến được vị trí B hay không? Nếu có xuất YES và năng lượng còn lại, ngược lại xuất NO.

Nếu có nhiều phương án, hãy xuất phương án có năng lượng còn lại là lớn nhất.

Input: nhập từ file robot.inp

-         Dòng 1: Chứa 3 số N, M và K

-         Dòng 2: chứa tọa độ A

-         Dòng 3 chứa tọa độ B

-         N dòng tiếp theo, mỗi dòng chứ M số (hoặc dấu #) (mỗi số là 1 trong 3 số 0, x, -x hoặc #), mỗi số cách nhau 1 khoảng cách


Output: xuất ra file robot.out

-         Xuất NO nếu robot không đến được B ngược lại xuất YES và năng lượng còn lại.

Lưu ý: ma trận được đánh số dòng từ 0 đến N-1, cột từ 0 đến M-1.


Ví dụ:

INPUT

OUTPUT

Giải thích

4 4 10

0 0

3 3

0 0 3 0

0 # 0 0

-5 0 0 0

0 0 0 0

YES

7

Robot cần di chuyển từ ô (0,0) đến ô (3,3) với năng lượng ban đầu là 10.

Robo sẽ di chuyển theo phương án như hình bên dưới, do đi qua ô (0,2) được tăng thêm 3 năng lượng, vì vậy năng lượng còn lại là 7




















    Quảng cáo
       Ngôn ngữ : 

       Theme : 
Mời bạn soạn code



		



      Ai có thể xem bài này : 

Thông tin



Phần thảo luận