== include(page="template/taskheader" task_id="peridia") ==
Poveste și cerință...
Costel a primit de Crăciun un joc numit Peridia. Acesta conține o tablă pătratică de dimensiuni [*N*]x[*N*], umplută cu 0, pe care așează un zar la coordonatele (1,1). Pe fața de sus este un număr *X*, pe fața din stânga un număr *Y*, iar pe fața dinspre el un număr *Z*. Jucătorul rostogolește zarul pe tablă de *K* ori într-una din cele patru direcții: Nord, Est, Sud, Vest, codificate cu N, E, S respectiv V. Clasic, nu? Ei bine nu. Zarul, atunci când ajunge pe o celulă care nu depășeste limitele tablei, dacă pe aceasta este numărul 0, se va imprima numărul de pe fața de jos a zarului. Însă, dacă numărul de pe celulă este diferit de 0, la numărul de pe celula respectivă se va aduna numărul de pe fața de jos a zarului.
Se cunosc *N*, *X*, *Y*, *Z* și *K*, precum și cele *K* coordonate: Nord, Sud, Est, Vest, codificate cu unul din 4 caractere N, E, S, V. După ce s-au executat mutările zarului, se cer numerele de pe tablă diferite de 0 în ordine crescătoare.
h2. Date de intrare
Fișierul de intrare $peridia.in$ ...
Pe prima linie a fișierului de intrare peridia.in se vor afla *N*, *X*, *Y*, *Z* și *K*, având rolul din enunț. Pe a doua linie a fișierului se vor afla *K* caractere sub codificarea N, E, S, V, reprezentând cele 4 coordonate: Nord, Est, Sud și Vest.
h2. Date de ieșire
În fișierul de ieșire $peridia.out$ ...
În fișierul de ieșire peridia.out se vor afla mai multe numere, separate prin spațiu, reprezentând toate numerele diferite de 0 de pe tabla de joc, în ordine crescătoare.
h2. Restricții
* $... ≤ ... ≤ ...$
* 1 ≤ *N* ≤ 1.000
* 1 ≤ *X*, *Y*, *Z* ≤ 6
* 1 ≤ *K* ≤ 10.000
* Dintre numerele *X*, *Y*, *Z* oricare două *NU* au suma 7
* De asemenea, suma numerelor de pe oricare două fețe opuse este 7
* Dacă după o mutare zarul ar ajunge în afara tablei de joc, această mutare nu se execută și numărul din celulă rămâne același. Se va continua cu următoarea mutare.
* Se iau în considerare și numerele aflate pe fața de jos de la începutul jocului, respectiv de la finalul acestuia
h2. Exemplu
table(example).
|_. peridia.in |_. peridia.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
h3. Explicație
...
|_. peridia.in |_. peridia.out|_. Explicație|
|5 1 2 3 10
EEESSVVNNV
| 1 1 2 2 3 3 5 10 12
| Acesta este tabelul corespunzător mutărilor de pe tablă:
!problema/peridia?Capture.PNG!
|
== include(page="template/taskfooter" task_id="peridia") ==