Robot-to-Wall

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 n filas por m
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.

Entrada

La entrada empieza con dos enteros, n y m, que indican el tamaño del
tablero. Luego vienen n × m caracteres (’.’ o ’#’) que representan el
tablero. Seguidamente viene la posición inicial del robot, (f, c), con
1 ≤ f ≤ n siendo la fila, y 1 ≤ c ≤ m la columna.Finalmente viene una
secuencia de palabras sin centinela que representan las direcciones de
los movimientos que debe realizar el robot.

Salida

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.".

Observaciones

Se garantiza que la posición inicial es una casilla libre (’.’).

Información del problema

Autoría: PRO1

Generación: 2026-01-25T17:24:27.071Z

© Jutge.org, 2006–2026.
https://jutge.org
