== include(page="template/taskheader" task_id="traseu2") ==
Poveste și cerință...
Elevii cursurilor de robotică din cadrul Anavdren au primit sarcină nouă: să programeze un roboțel să se deplaseze pe o masă specială. Aceasta are forma dreptunghiulară, este împărțită în **n** linii și **m** coloane și marginile ei au zone de teleportare.
Robotul trebuie programat să plece dintr-o anumită căsuță și să parcurgă un anumit traseu, dat. Traseul este compus din **x** mișcări, iar robotul se mișcă **k** căsuțe într-una dintre direcțiile $N, E, S, V$. În cazul în care o deplasare îl trimite în afara mesei, robotul este teleportat în capătul celălalt al mesei, pe aceeași linie sau aceeași coloană, permițându-i ulterior să își continue traseul.
h2. Cerința
Scrieți un program care determină poziția finală a robotului după ce a terminat de parcurs traseul dat.
h2. Date de intrare
Fișierul de intrare $traseu2.in$ ...
Fișierul de intrare $traseu2.in$ conține pe prima linie două numere naturale **l** și **c** ce reprezintă linia și coloana poziției de start a robotului.
Pe a doua linie se găsesc 3 numere naturale **n**, **m** și **x**, reprezentând numărul de linii și numărul de coloane ce alcătuiesc masa și numărul de mișcări pe care robotul le va face.
Următoarele **x** linii se vor găsi două elemente, de forma **D** **k**, unde **D** reprezintă direcția mișcării, redată printr-un caracter (unul dintre N, E, S, V) și **k** reprezintă un număr natural, reprezentând câte pătrățele sunt parcurse în acea direcție.
h2. Date de ieșire
În fișierul de ieșire $traseu2.out$ ...
Fișierul de ieșire $traseu2.out$ va conține două numere naturale **X** și **Y**, reprezentând linia și coloana unde se află robotul la finalul traseului.
h2. Restricții
* $... ≤ ... ≤ ...$
* 1 ≤ **n**, **m**, **x**, **k** ≤ 1000000
* 0 ≤ **l**, **c**, **X**, **Y** < 1000000
* l ≤ **n** și **c** ≤ **m**
* Caracterul **D** poate avea ca valori doar $N$, $E$, $S$, $V$ (majuscule)
* Colțul stânga jos al mesei este definit de coordonatele (0,0)
h2. Exemplu
table(example).
h2. Exemplu 1
table(example).
|_. traseu2.in |_. traseu2.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
| 0 0
7 7 4
E 5
N 4
V 2
S 2
| 2 3
|
h3. Explicație
...
!>problema/traseu2?problema-traseu1-nerdarena.png!
Robotul pleacă din colțul stânga jos, de la coordonatele (0,0), masa are dimensiunile 7 linii și 7 coloane, iar traseul are 4 mișcări:
# E 5 (galben): robotul se mișcă 5 pătrățele spre E (dreapta), deci noua poziție este (0,5)
# N 4 (albastru): robotul se mișcă 4 pătrățele spre N (sus), noua poziție este (4,5)
# V 2 (verde): robotul se mișcă 2 pătrățele spre V (stânga), noua poziție este (4,3)
# S 1 (roz): robotul se mișcă 2 pătrățele spre S (jos), noua poziție este (2,3)
Poziția finală a robotulului este (2,3).
h2. Exemplu 2
table(example).
|_. traseu2.in |_. traseu2.out |
| 2 3
7 5 5
E 3
N 5
V 2
V 2
S 3
| 4 2
|
h3. Explicație
!>problema/traseu2?problema-traseu2-nerdarena.png!
Robotul pleacă de la coordonatele (2,3), masa are dimensiunile 7 linii și 5 coloane, iar traseul are 5 mișcări:
# E 3 (galben): robotul se mișcă 3 pătrățele spre E (dreapta). Ar ieși de pe masă, dar se teleporteză la capătul opus, pe aceeași linie. Noua poziție este (2,1)
# N 5 (albastru): robotul se mișcă 5 pătrățele spre N (sus). Ar ieși de pe masă, dar se teleporteză la capătul opus, pe aceeași coloană. Noua poziție este (0,1)
# V 2 (verde): robotul se mișcă 2 pătrățele spre V (stânga). Ar ieși de pe masă, dar se teleporteză la capătul opus, pe aceeași linie. Noua poziție este (0,4)
# V 2 (oranj): robotul se mișcă 2 pătrățele spre V (stânga), noua poziție este (0,2)
# S 3 (mov): robotul se mișcă 3 pătrățele spre S (jos). Ar ieși de pe masă, dar se teleporteză la capătul opus, pe aceeași coloană. Noua poziție este (4,2)
Poziția finală a robotulului este (4,2).
== include(page="template/taskfooter" task_id="traseu2") ==