zar

Time limit: 0.1s Memory limit: 4MB Input: zar.in Output: zar.out

Pe tabla de şah de dimensiune NNN \cdot N, se găseşte un zar (având latura egală cu latura pătratului ce defineşte un pătrat al tablei de şah). Acest zar se poate rostogoli în conformitate cu secvenţa de comenzi care se citeşte dintr-un fişier, fiecare caracter citit având semnificaţia:

  • uu rostogolire în pătratul de deasupra (up);
  • dd rostogolire în pătratul de dedesubt (down);
  • ll rostogolire în pătratul din stânga (left);
  • rr rostogolire în pătratul din dreapta (right).

Se cunosc:

  • poziţia iniţială a zarului dată prin punctul de coordonate (linie, coloană);
  • valorile aflate pe feţele zarului date printr-un şir: sus, jos, stânga, dreapta, faţă, spate, în această ordine;
  • secvenţa de mişcări date prin caracterele ‘u’, ‘d’, ‘l’, ‘r’.

Cerinţă:

Să se determine sumele de valori pe care le vor avea, în urma secvenţei de mişcări, feţele: sus, jos, stânga, dreapta, faţă, spate (în această ordine), precum şi mulţimea valorilor ce sunt pe faţa de sus a zarului la fiecare mutare a acestuia. Prima poziţie se consideră cea iniţială.

Secvenţa de mişcări a zarului se realizează cât timp zarul printr-o mutare rămâne pe tabla de şah. Dacă în urma unei mutări zarul ar ieşi în afara tablei, se vor afişa rezultatele obţinute până în acel moment.

Date de intrare:

Fişierul de intrare cu numele zar.in are structura: NN, cu semnificaţia dimensiunea tablei; lpl_p, cpc_p - cu semnificaţia linia iniţială, coloana iniţială pentru poziţia zarului; v1v_1, v2v_2, v3v_3, v4v_4, v5v_5, v6v_6 - valorile feţelor zarului, valori cuprinse între 11 şi 66; hh - numărul de caractere ce reprezintă secvenţa de mutări
c1c_1, c2c_2, c3c_3, chc_h, - caracterele ‘u’, ‘d’, ‘l’, ‘r’ cu semnificaţia mutarea următoare a zarului

Date de ieşire:

Fişierul de ieşire cu numele zar.out are structura

  • pe prima linie separate prin spaţiu 6 valori: sumasussuma_{sus}, sumajossuma_{jos}, sumastangasuma_{stanga}, sumadreaptasuma_{dreapta}, sumafatasuma_{fata}, sumaspatesuma_{spate}, cu semnificaţia suma punctelor de pe feţele specificate, în această ordine.
  • pe a doua linie h+1h+1 valori ce reprezintă valorile ce sunt pe faţa de sus prin secvenţa de mişcări propusă. Pe prima poziţie este valoarea iniţială.

Restricții și precizări

  • secvenţa de mişcări poate avea până la 1 0001 \ 000 de caractere ‘u’, ‘d’, ‘l’, ‘r’;
  • 4N1004 \leq N \leq 100

Exemplul 1

zar.in

8
7 3
1 6 5 2 4 3
19
uuuuuurrrrdddlldduu

zar.out

72 68 77 63 67 73
1 4 6 3 1 4 6 5 1 2 6 4 1 3 2 4 6 3 6 4

Exemplul 2

zar.in

8
7 3
1 6 5 2 4 3
9
uuuuuuuuu

zar.out

25 24 35 14 27 22
1 4 6 3 1 4 6

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