Pentru a-și afla destinul, aventurierul Lionel își propune să ajungă la Muntele Destinului, folosindu-se de o hartă străveche, alcătuită din celule dispuse pe câte linii și câte coloane numerotate de la . Astfel, acesta pornește dintr-o celulă specificată cu coordonatele și se deplasează inițial în direcția .
Conform legendei hărții, fiecare celulă poate reprezenta: fie un drum sigur care permite deplasarea rapidă, păduri dense ce necesită timp dublu pentru traversare, și mlaștini ce blochează complet avansul.
Instrucțiunile de pe hartă determină mișcarea lui Lionel astfel:
Celula | Semnificație |
---|---|
N | Din celula de coordonate următoarea miscare va fi în celula de coordonate . |
W | Din celula de coordonate următoarea mișcare va fi în celula de coordonate . |
E | Din celula de coordonate următoarea mișcare va fi în celula de coordonate . |
Y | Din celula de coordonate următoarea mișcare va fi în celula de coordonate . |
S | Din celula de coordonate următoarea mișcare va fi în celula de coordonate . |
Z | Din celula de coordonate următoarea mișcare va fi în celula de coordonate . |
V | Din celula de coordonate următoarea mișcare va fi în celula de coordonate . |
X | Din celula de coordonate următoarea mișcare va fi în celula de coordonate . |
. | Celula va fi parcursă în oră. Lionel își continuă drumul în aceeași direcție. |
P | Celula va fi parcursă în oră. Lionel își continuă drumul în aceeași direcție. |
M | Lionel este împotmolit, deci nu va mai înainta |
D | Lionel ajunge la Muntele Destinului, deci nu va mai înainta. |
Simbolul schimbă direcția de mers a lui Lionel, întorcându-l la ultima celulă în care a existat o schimbare de direcție și rotind direct, ia acesteia cu în sensul acelor de ceasornic (nord devine est, nord-est devine sud-est, est devine sud etc. conform diagramei din dreapta).
Date de intrare
Fișierul de intrare taram.in
va conține pe prima linie numere întregi separate prin câte un spațiu: (dimensiunea hărții), (coordonatele celulei inițiale de unde Lionel își va începe aventura) și (direcția inițială de deplasare).
Următoarele linii descriu legenda hărții inițiale, fiecare linie fiind alcătuită din câte caractere.
Linia va conține un număr întreg reprezentând numărul de operații suplimentare .
În funcție de tipul operației, următoarele linii vor conține un număr întreg (tipul operației), urmat de:
- Un număr întreg , în cazul în care , reprezentând numărul de ore în urma căruia Lionel este curios să afle coordonatele celulei în care se află, pornind din celula de coordonate ș deplasându-se în direcția .
- Două numere întregi separate prin câte un spațiu dacă , reprezentând coordonatele celulei în care se va plasa un simbol de rotire .
Date de ieșire
Fișierul de ieșire taram.out
va conține răspunsurile la cele operații suplimentare în felul următor:
- Pentru o operație de tip , se va afișa pe un rând coordonatele celulei în care Lionel se află după cele ore, și numărul de ore pe care acesta l-a petrecut acolo, la momentul .
- Pentru o operație de tip nu se va afișa nimic.
Restricții și precizări
- Coordonatele unei celule se vor afișa separate prin virgulă și între paranteze rotunde.
- Celula de coordonate din care Lionel își începe aventura este o celulă de tip drum .
- Direcția inițială de deplasare va lua una din valorile , , , , , , , , acestea având aceeași însemnătate ca cele definite în cerința problemei.
- Pentru o operație de tip , celula de coordonate pe care se va plasa un simbol de rotire este o celulă de tip drum .
- În momentul în care Lionel întâlnește o celulă de tip rotire , el va revizita, pe rând, toate celulele pe care le-a vizitat pe drumul de la ultima schimbare de direcție la celula de tip rotire .
- Pentru teste în valoare de puncte, nu vor exista operații de tipul .
- Pentru alte teste în valoare de puncte, .
- Pentru alte teste în valoare de de puncte, nu există restricții suplimentare.
Exemplul 1
taram.in
5 1 1 S
.N.MM
...MD
W..M.
.ENPN
.PPPP
4
1 4
2 1 3
1 14
1 25
taram.out
(1,3) 0
(4,3) 0
(2,5) 6
Exemplul 2
taram.in
5 4 5 N
.E.DZ
.P...
..PX.
..XV.
N...X
4
1 25
2 3 1
2 2 1
1 10
taram.out
(1,1) 13
(3,1) 0
Explicații
Lionel incepe de pe pozitia și ajunge în celula , dupa ore conform instrucțiunii .
Plasând un pe poziția , rezultă că instrucțiunea de pe poziția devine, de fapt, . Astfel, acesta va parcurge coordonatele , după care se întoarce, aflând că ultima instrucțiune a fost falsă . Lionel își continuă drumul până cand ajunge din nou pe poziția , urmărând traseul de unde rezultă că instrucțiunea de pe poziția devine, de fapt .
Traseul complet pentru a ajunge la Muntele Destinului este: .