Reglas:
En este juego comienzas en la parte superior de una cuadrícula rectangular de tamaño N x M compuesta de paredes y espacios abiertos. La entrada es N líneas de M caracteres, donde a .
especifica un espacio abierto y a x
especifica un muro. Su programa debería generar el número K más pequeño de manera que exista una ruta desde la esquina superior izquierda a la esquina inferior derecha (sin diagonales) que cruza las paredes K.
Por ejemplo, dada la entrada:
..x..
..x..
xxxxx
..x..
..x..
su programa debería salir 2
.
Otros ejemplos:
salida 4
:
xxxxx
x.x.x
x.x.x
x..xx
salida 0
:
.xxxxxxxx
.x...x...
.x.x.x.x.
.x.x...x.
...xxxxx.
salida 6
:
xx
xx
xx
xx
xx
Cositas extra:
Si le facilita la vida, puede especificar N y M como parámetros de línea de comando.
Crédito adicional si puede hacer que su programa imprima la ruta de una forma u otra.