Robot explorador

Simuleu el moviment d’un robot en un laberint rectangular n×mn \times 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 nn i mm, seguides d’nn línies amb mm 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 nn i mm 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)(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