– Mariano, que este nivel es muy chungo! –dice Luisito.
– Venga hombre, que no es para tanto! –responde Mariano. Sólo hay que
superar este pasillo de ancho
y largo
.
Aquí tengo un mapa completo, ves? Nosotros empezamos arriba de todo,
donde la ‘M’. Los puntos son casillas vacías, y los
asteriscos son obstáculos. El scroll hace que, automáticamente y sin
tocar ninguna tecla, cada turno bajemos una casilla. Además, si
apretamos las teclas “izquierda” o “derecha”, bajaremos en diagonal, y
así podremos evitar los obstáculos hasta llegar abajo del todo.
– Y estas marcas? Son tesoros?
– Déjame ver …pues no, la ‘T’ es de Trampa.
– Me lo temía! Venga Mariano, vámonos a casa.
– Espera, las trampas no son mortales. Si cayéramos en una, podríamos escapar apretando tres veces la tecla “arriba”. Venga Luisito, que descubrir el camino óptimo está chupado.
Haced un programa que calcule el mínimo número de pulsaciones necesarias para superar el nivel.
La entrada empieza con los números
y
,
seguidos de
líneas con
caracteres que representan el mapa. La primera línea contiene
exactamente una ‘M’. Los restantes caracteres representan
casillas vacías ‘.’, obstáculos ‘’ o trampas
‘T’.
Escribid el mínimo número de pulsaciones necesarias para superar el
nivel. Si no es posible, escribid “IMPOSIBLE”.
Input
6 5 ...M.. ...... ...... ...... ......
Output
0
Input
6 7 ...M.. ..*T.. ...... .***T. ....T. ....T* .*****
Output
IMPOSIBLE
Input
6 4 .T.M.. .T.... .T.... .*****
Output
6
Input
5 3 ..M.. ..... TTTTT
Output
3