Cerința
Se dă o matrice cu n
linii și m
coloane și elemente 0
sau 1
, reprezentând planul unui teren în care 0
reprezintă o zonă accesibilă, iar 1
reprezintă o zonă inaccesibilă. O zonă a terenului are ca și coordonate linia și coloana corespunzătoare din matrice. Într-o zonă cunoscută a matricei se află un robot, iar în altă zonă, de asemenea cunoscută, se află o roboțică. Determinați numărul minim de pași prin care robotul va ajunge la roboțică. Dacă nu este posibil ca robotul să ajungă la roboțică, rezultatul va fi -1
.
Date de intrare
Fișierul de intrare roboti.in
conține pe prima linie numerele n m
. Următoarele n
linii conțin câte m
valori, 0
sau 1
. Următoarele două linii conțin câte două valori, reprezentând coordonatele robotului, respectiv ale roboțicii.
Date de ieșire
Fișierul de ieșire roboti.out
va conține pe prima linie valoarea cerută.
Restricții și precizări
1 ≤ n , m ≤ 1000
- zonele pe care se află inițial cei doi roboți sunt libere și sunt diferite
- un pas reprezintă trecerea robotului din zona curentă într-o zonă vecină cu aceasta pe linie sau pe coloană, fără a părăsi matricea.
Exemplu:
roboti.in
4 5 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 1 1 0 0 1 1 2 2 5
roboti.out
4
Explicație
Un traseu al robotului format din 4
pași este evidențiat mai jos.
1 | 0 | 0 | 0 | 1 |
0 | 0 | 1 | 0 | 0 |
0 | 0 | 0 | 0 | 1 |
1 | 1 | 0 | 0 | 1 |
Există și alte trasee posibile, dar lungimea lor este mai mare.