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
files per
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.
L’entrada comença amb dos enters,
i
,
que indiquen la mida del tauler. Després venen
caràcters (’.’ o ’#’) que representen el
tauler. Seguidament venen la posició inicial del robot,
,
a on
essent la fila, i
la columna. Finalment ve una seqüència de paraules sense sentinella que
representen les direccions dels moviments que ha de realitzar el
robot.
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."
Es garanteix que la posició inicial serà una casella lliure
(’.’).
Input
4 6 .....# .###.# .#...# #...## 1 1 dreta avall esquerra avall
Output
.....# .###.# .#...# #...## El robot ha sortit.
Input
5 8 .#....#. #......# ..#....# #....... .#....#. 3 4 dreta amunt avall esquerra amunt dreta esquerra avall
Output
.#....#. #......# ..#....# #O...... .#....#.
Input
5 10 .........# #........# #.......## ###.....## ####...### 1 1 dreta avall esquerra avall dreta avall esquerra
Output
.........# #........# #.......## ###O....## ####...###