Queremos simular un pequeño juego donde un pequeño robot se mueve en línea recta (horizontal o verticalmente) para ver dónde va a parar según los movimientos que le pida el usuario.
El tablero por donde se mueve el robot es rectangular, de
filas por
columnas, y en cada casilla del tablero puede haber una pared
(’#’) o bien la casilla está libre (’.’). El
robot no puede entrar en las casillas donde hay una pared pero puede
pasar por aquellas que estan libres.
El robot empieza en una casilla dada y, al realizar un movimiento,
avanza en línea recta hasta que una pared le impida seguir avanzando, o
bien se salga del tablero. Los movimientos posibles son las 4
direcciones básicas "izquierda", "derecha",
"arriba" y "abajo". En los movimientos a
derecha o izquierda, se mantiene la fila y cambia la columna, y en los
movimientos de abajo o arriba, se mantiene la columna y cambia la
fila.
La entrada empieza con dos enteros,
y
,
que indican el tamaño del tablero. Luego vienen
caracteres (’.’ o ’#’) que representan el
tablero. Seguidamente viene la posición inicial del robot,
,
con
siendo la fila, y
la columna.Finalmente viene una secuencia de palabras sin centinela que
representan las direcciones de los movimientos que debe realizar el
robot.
La salida muestra el tablero tal como queda al final de la
simulación, en el mismo formato que estaba a la entrada, pero con el
robot marcado con una O mayúscula, ’O’. Después de mostrar
el tablero hay que poner una línea vacía. Y al final, si el robot se ha
salido del tablero, hay que añadir el texto "El robot se ha
salido.".
Se garantiza que la posición inicial es una casilla libre
(’.’).
Input
4 6 .....# .###.# .#...# #...## 1 1 derecha abajo izquierda abajo
Output
.....# .###.# .#...# #...## El robot se ha salido.
Input
5 8 .#....#. #......# ..#....# #....... .#....#. 3 4 derecha arriba abajo izquierda arriba derecha izquierda abajo
Output
.#....#. #......# ..#....# #O...... .#....#.
Input
5 10 .........# #........# #.......## ###.....## ####...### 1 1 derecha abajo izquierda abajo derecha abajo izquierda
Output
.........# #........# #.......## ###O....## ####...###