Gửi bài giải
Điểm:
10,00 (OI)
Giới hạn thời gian:
2.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Dạng bài
Cho một lưới kích thước ~M \times N~, trong đó mỗi ô có thể có giá trị là ~0~ (ô có thể đi qua) hoặc ~1~ (ô không thể đi qua). Bạn cần tìm đường đi từ ô ~(0, 0)~ đến ô ~(M-1, N-1)~ nếu có thể, và in ra số bước ngắn nhất cần thiết để đi từ điểm bắt đầu đến điểm đích. Bạn chỉ có thể di chuyển theo bốn hướng: lên, xuống, trái, phải. Nếu không có đường đi, hãy in ra NO
Đầu vào:
- Mỗi dòng đầu tiên sẽ chứa hai số nguyên ~M~ và ~N~ ~(1 ≤ M, N ≤ 100)~.
- Sau đó là ~M~ dòng, mỗi dòng chứa ~N~ giá trị ~0~ hoặc ~1~ mô tả lưới.
Đầu ra:
- Nếu có đường đi, in ra số bước ngắn nhất từ ô ~(0, 0)~ đến ô ~(M-1, N-1)~.
- Nếu không có đường đi, in ra
NO
.
Ví dụ:
Đầu vào:
5 5
0 0 0 1 0
1 1 0 1 0
0 0 0 0 0
0 1 1 1 0
0 0 0 0 0
Đầu ra:
8
Bình luận