Tìm đường đi ngắn nhất trong mê cung
Một mê cung được cho bởi một ma trận chứa các số 0 và 1 trong đó ô nào chứa số 0 là có thể đi qua được còn chứa số 1 là vật cản không thể đi qua được. Mèo Toto là một con rô bốt rất thông minh nó được thả vào trong mê cung để săn lùng những con chuột. Bằng trí tuệ nhân tạo siêu phàm mèo Toto đã định vị được trong mê cung có một vị trí có chuột. Nhưng người lập trình cho nó chưa lập trình được thuật toán tìm đường đi ngắn nhất từ vị trí của nó tới chuột. Bạn hãy lập trình giải bài toán này giúp mèo Toto nhé
Input
Dòng đầu chứa 2 số nguyên dương n và m tương ứng với số hàng và số cột của mê cung \((1<=n,m<=1000)\)
n dòng tiếp theo mỗi dòng chứa m số 0 hoặc 1
Dòng cuối cùng là vị trí của mèo Toto và vị trí của chuột trong mê cung hai vị trí của mèo có thể là 0 hoặc 1 còn chuột thì luôn là 0, quá trình di chuyển chỉ đi sang những ô 0
Output
Một số nguyên là số bước đi ngắn nhất từ vị trí mèo Toto đến vị trí chuột biết rằng mèo chỉ đi được theo hướng ngang hoặc dọc của 4 láng giềng trên, dưới hoặc phải, trái. Trong trường hợp không đi được in ra -1. Biết rằng mèo chỉ đi được trong mê cung thôi
Ví dụ 1
Input
3 3
0 1 0
0 0 0
1 0 0
1 1 3 3
Output
4
Ví dụ 2
Input
3 3
0 1 0
0 1 1
1 1 0
1 1 3 3
Output
-1
Comments
Chỉ số hàng trước cột sau
Em thấy đề bài ghi là "cả hai vị trí này đều chứa số 0" mà
Vị trí xuất phát và kết thúc luôn chứa số 0
Em in test 2 3 ra thì lại thấy mèo đi từ 1
ồ vậy à, chắc bộ test vớ vẩn, giờ sửa lại đề vậy
Thầy ơi bài này mèo có thể đi từ ô 1 ạ @@
Cho em hỏi là 2 điểm đầu và cuối thì chỉ số hàng hay chỉ số cột được viết trước ạ?