Robot explorador

Simuleu el moviment d’un robot en un laberint rectangular n × m. A cada
pas, el robot pot girar 90 graus cap a la dreta (en el mateix sentit
dels rellotges), 90 graus cap a l’esquerra, o bé intentar avançar. Si,
intentant avançar, el robot xocaria amb un obstacle, no es mou del lloc
on es troba. I si, intentant avançar, el robot surt per un marge,
reapareix a l’altra extrem (com si el rectangle fos un tor).
Inicialment, el robot mira cap al nord (amunt).

Entrada

L’entrada consisteix en diversos casos. Cada cas comença amb n i m,
seguides d’n línies amb m caràcters cadascuna. Les ‘X’ indiquen
obstacles, els punts posicions lliures, i la ‘R’ la posició inicial del
robot (n’hi ha exactament una). Segueix una seqüència d’ordres acabada
en ‘P’. Cada ordre pot ser ‘D’ (girar a la dreta), ‘E’ (girar a
l’esquerra), o bé ‘A’ (intentar avançar). Suposeu que n i m estan entre
2 i 100.

Sortida

Per a cada cas, i després de cada ordre rebuda, escriviu la posició
(columna, fila) i l’orientació del robot. La posició de dalt a
l’esquerra és la (0, 0). Les orientacions poden ser ‘N’, ‘E’, ‘S’ o bé
‘O’ (nord, est, sud, o oest). Escriviu una línia amb 10 guions al final
de cada cas.

Pista

Us recomenem treballar amb mòduls, però vigilant amb els nombres
negatius.

Informació del problema

Autoria: Salvador Roura

Generació: 2026-01-25T12:20:02.218Z

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