Tărâm

Time limit: 0.5s Memory limit: 16MB Input: taram.in Output: taram.out

Pentru a-și afla destinul, aventurierul Lionel își propune să ajungă la Muntele Destinului, folosindu-se de o hartă străveche, alcătuită din N2N^2 celule dispuse pe câte NN linii și câte NN coloane numerotate de la 11. Astfel, acesta pornește dintr-o celulă specificată cu coordonatele (Xstart,Ystart)(X_{start}, Y_{start}) și se deplasează inițial în direcția DD.
Conform legendei hărții, fiecare celulă poate reprezenta: fie un drum sigur (.)(‘.’) care permite deplasarea rapidă, păduri dense (P)(‘P’) ce necesită timp dublu pentru traversare, și mlaștini (M)(‘M’) ce blochează complet avansul.
Instrucțiunile de pe hartă determină mișcarea lui Lionel astfel:

Celula Semnificație
N Din celula de coordonate (x,y)(x, y) următoarea miscare va fi în celula de coordonate (x1,y)(x − 1, y).
W Din celula de coordonate (x,y)(x, y) următoarea mișcare va fi în celula de coordonate (x1,y+1)(x−1, y+1).
E Din celula de coordonate (x,y)(x, y) următoarea mișcare va fi în celula de coordonate (x,y+1)(x, y + 1).
Y Din celula de coordonate (x,y)(x, y) următoarea mișcare va fi în celula de coordonate (x+1,y+1)(x+1, y+1).
S Din celula de coordonate (x,y)(x, y) următoarea mișcare va fi în celula de coordonate (x+1,y)(x+1, y).
Z Din celula de coordonate (x,y)(x, y) următoarea mișcare va fi în celula de coordonate (x+1,y1)(x+1, y-1).
V Din celula de coordonate (x,y)(x, y) următoarea mișcare va fi în celula de coordonate (x,y1)(x, y-1).
X Din celula de coordonate (x,y)(x, y) următoarea mișcare va fi în celula de coordonate (x1,y1)(x-1, y-1).
. Celula va fi parcursă în 11 oră. Lionel își continuă drumul în aceeași direcție.
P Celula va fi parcursă în 22 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 (R)(‘R’) 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 9090^{\circ} î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 44 numere întregi separate prin câte un spațiu: NN (dimensiunea hărții), (Xstart,Ystart)(X_{start}, Y_{start}) (coordonatele celulei inițiale de unde Lionel își va începe aventura) și DD (direcția inițială de deplasare).
Următoarele NN linii descriu legenda hărții inițiale, fiecare linie fiind alcătuită din câte NN caractere.
Linia N+2N + 2 va conține un număr întreg reprezentând numărul de operații suplimentare TT.
În funcție de tipul operației, următoarele TT linii vor conține un număr întreg KK (tipul operației), urmat de:

  • Un număr întreg XX, în cazul în care K=1K = 1, 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 (Xstart,Ystart)(X_{start}, Y_{start}) ș deplasându-se în direcția DD.
  • Două numere întregi separate prin câte un spațiu X,YX, Y dacă K=2K = 2, reprezentând coordonatele celulei în care se va plasa un simbol de rotire (R)(‘R’).

Date de ieșire

Fișierul de ieșire taram.out va conține răspunsurile la cele TT operații suplimentare în felul următor:

  • Pentru o operație de tip 11, se va afișa pe un rând coordonatele celulei în care Lionel se află după cele XX ore, și numărul de ore pe care acesta l-a petrecut acolo, la momentul XX.
  • Pentru o operație de tip 22 nu se va afișa nimic.

Restricții și precizări

  • 1N1 1001 \leq N \leq 1 \ 100
  • 1T2001 \leq T \leq 200
  • Coordonatele unei celule se vor afișa separate prin virgulă și între paranteze rotunde.
  • Celula de coordonate (Xstart,Ystart)(Xstart, Ystart) din care Lionel își începe aventura este o celulă de tip drum (.)(‘.’).
  • Direcția inițială de deplasare DD va lua una din valorile NN, SS, EE, VV, WW, XX, YY, ZZ, acestea având aceeași însemnătate ca cele definite în cerința problemei.
  • Pentru o operație de tip 22, celula de coordonate (X,Y)(X, Y) pe care se va plasa un simbol de rotire (R)(‘R’) este o celulă de tip drum (.)(‘.’).
  • În momentul în care Lionel întâlnește o celulă de tip rotire (R)(’R’), 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 (R)(’R’).
  • Pentru teste în valoare de 55 puncte, nu vor exista operații de tipul 22.
  • Pentru alte teste în valoare de 1010 puncte, N500N \leq 500.
  • Pentru alte teste în valoare de 8585 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 (1,1)(1, 1) și ajunge în celula (1,3)(1, 3), dupa 44 ore conform instrucțiunii WW.
Plasând un RR pe poziția (1,3)(1, 3), rezultă că instrucțiunea de pe poziția (3,1)=W(3, 1) = W devine, de fapt, YY. Astfel, acesta va parcurge coordonatele (3,1)(2,2)(1,3)(3, 1) \rightarrow (2, 2) \rightarrow (1, 3), după care se întoarce, aflând că ultima instrucțiune a fost falsă (1,3)(2,2)(3,1)(1, 3) \rightarrow (2, 2) \rightarrow (3, 1). Lionel își continuă drumul până cand ajunge din nou pe poziția (1,3)(1, 3), urmărând traseul (3,1)(4,2)(4,3)(3,3)(2,3)(1,3)(3, 1) \rightarrow (4, 2) \rightarrow (4, 3) \rightarrow (3, 3) \rightarrow (2, 3) \rightarrow (1, 3) de unde rezultă că instrucțiunea de pe poziția (4,3)=N(4, 3) = N devine, de fapt EE.
Traseul complet pentru a ajunge la Muntele Destinului este: (1,1)(2,1)(3,1)(2,2)(1,3)(2,2)(3,1)(4,2)(4,3)(3,3)(2,3)(1,3)(2,3)(3,3)(4,3)(4,4)(4,5)(3,5)(2,5)(1, 1) \rightarrow (2, 1) \rightarrow (3, 1) \rightarrow (2, 2) \rightarrow (1, 3) \rightarrow (2, 2) \rightarrow (3, 1) \rightarrow (4, 2) \rightarrow (4, 3) \rightarrow (3, 3) \rightarrow (2, 3) \rightarrow (1, 3) \rightarrow (2, 3) \rightarrow (3, 3) \rightarrow (4, 3) \rightarrow (4, 4) \rightarrow (4, 5) \rightarrow (3, 5) \rightarrow (2, 5).

Log in or sign up to be able to send submissions!