Un caballo se encuentra sobre un tablero de ajedrez. El caballo sólo se puede mover según las reglas habituales (es decir, modificando en dos unidades una de sus coordenadas, y en una unidad la otra coordenada, para un total de ocho posibles movimientos), siempre y cuando no salga del tablero ni visite ninguna casilla con un obstáculo. ¿Cuál es el mínimo número de pasos que debe dar el caballo para llegar a una zanahoria?
La entrada consiste en diversos casos. Cada caso empieza con el
número de filas
y el número de columnas
del tablero. Tanto
como
són como mínimo 3. Siguen
filas con
caracteres cada una. Una ‘z’ indica una zanahoria, una
‘X’ indica un obstáculo, y un ‘.’ indica una
posición libre. Cada caso acaba con la posición (fila y columna) inicial
del caballo. (La casilla más a la izquierda de la primera fila es la (1,
1).) La posición inicial siempre estará libre.
Para cada caso, escribid una línea. Si el caballo puede llegar a
alguna zanahoria, escribid el mínimo número de pasos. En otro caso,
escribid ‘no’’.
Test: Entradas donde son siempre 3.
Test: Entradas donde están entre 3 y 10.
Test: Entradas donde están entre 3 y 50.
Test: Entradas donde están entre 3 y 200.
Input
3 3 ... ..z ... 1 1 4 6 XXXXXX X..XXX XXXX.X zX.XXX 2 3 3 4 XXXX XXX. XXXX 2 4 3 4 zzXX z.zz zzz. 3 4
Output
1 4 no no
Input
5 9 X........ zXX..Xz.. X.X...... .X..X.... ..z...... 5 6 7 8 zXXXzzzz Xzzz.zzz zz.zXXXX XXzXXXXX zXX.z..X zXzX..zX zzXXXX.. 5 6
Output
2 9