Robot-to-Wall

Volem simular un simple joc a on un petit robot es mou en línia recta
(horitzontal i verticalment) per a veure a on anirà a parar segons els
moviments que demani l’usuari.

El tauler per on es mou el robot és rectangular, de n files per m
columnes, i en cada casella del tauler pot haver-hi una paret (’#’) o bé
la casella està lliure (’.’). El robot no pot entrar en les caselles a
on hi ha una paret però pot passar per aquelles que estan lliures.

El robot comença en una casella donada i, en realitzar un moviment,
avança en línia recta fins que una paret li barri el pas, o bé se surti
del tauler. Els moviments possibles són les 4 direccions bàsiques
"esquerra", "dreta", "amunt" i "avall". En els moviments a dreta o
esquerra, es manté la fila i canvia la columna, i en els moviments cap
amunt o cap avall, es manté la columna i canvia la fila.

Entrada

L’entrada comença amb dos enters, n i m, que indiquen la mida del
tauler. Després venen n × m caràcters (’.’ o ’#’) que representen el
tauler. Seguidament venen la posició inicial del robot, (f, c), a on
1 ≤ f ≤ n essent la fila, i 1 ≤ c ≤ m la columna. Finalment ve una
seqüència de paraules sense sentinella que representen les direccions
dels moviments que ha de realitzar el robot.

Sortida

La sortida mostra el tauler tal com queda al final de la simulació, en
el mateix format que estava a l’entrada, però amb el robot marcat amb
una O majústcula, ’O’. Després de mostrar el tauler s’ha de posar una
línia buida. I al final, si el robot s’ha sortit del tauler, cal afegir
el text "El robot has sortit."

Observacions

Es garanteix que la posició inicial serà una casella lliure (’.’).

Informació del problema

Autoria: PRO1

Generació: 2026-01-25T17:24:31.368Z

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