Mai intai trebuie sa te autentifici.
Diferente pentru problema/dicearray intre reviziile #24 si #12
Diferente intre titluri:
DiceArray
dicearray
Diferente intre continut:
== include(page="template/taskheader" task_id="dicearray") ==
Gimi şi Victor, doi tovăraşi buni, într-o după-amiză de vară s-au hotărât să joace barbut. Jocul de barbut constăîn aruncarea a $N$ zarurişi astfel obţinerea unui şir $Z$ de $N$ zaruri. Scorulunei aruncărise obţine prin însumarea punctelor de pe faţa de deasupra a celor $N$ zaruri.
Gimi şi Victor, doi tovaraşi buni, într-o după-amiză de vară s-au hotărât să joace barbut. Jocul de barbut constă in aruncarea a $N$ zaruri si astfel obţinerea unui şir $Z$ de $N$ zaruri. Scorul se obţine prin însumarea punctelor de pe faţa de deasupra a celor $N$ zaruri.
Toate zarurile au următoarea desfăşurare plană: !problema/dicearray?die_layout.png! Întrucât suma valorilor de pe două feţe opuse ale unui zar este mereu $7$, un zar poate fi descris printr-un triplet $(top, front, left)$, unde:
* $top$ reprezintăvaloarea de pe faţa de deasupra zarului(perpendiculară pe axa $oY$)* $front$ reprezintăvaloarea de pe faţa din faţa zarului(perpendiculară pe axa $oX$)* $left$ reprezintăvaloarea de pe faţa din stânga zarului(perpendiculară pe axa $oZ$)
* $top$ reprezinta valoarea de pe fata de deasupra zarului * $front$ reprezinta valoarea de pe fata din fata zarului * $left$ reprezinta valoarea de pe fata din stanga zarului
De exemplu, zarul $(6, 2, 3)$ arată astfel: !problema/dicearray?623.png!
Când Gimi aruncă cu zarurile îi zice lui Victor: _"Scoate măşi tu o acadeapână dau eu cu zarurile astea."_
Când Gimi aruncă cu zarurile îi zice lui Victor: _"Scoate mă si tu o ţigară până dau eu cu zarurile astea."_
Cât timp Victor este distras, Gimi are timp să trişezeprinefectuareaaQ operaţii asupra şirului de zaruri. O operaţie poate fi descrisă printr-untriplet$(l, r, d)$astfel:
Cât timp Victor este distras, Gimi are timp să trişeze şi să efectueze Q operaţii asupra şirului de zaruri In următorul fel. O operaţie poate fi descrisă printr-o pereche $(l, r, d)$:
* toate zarurile $Z[i]$ cu $i$ de la $l$ la $r$ se rotescîn sens trigonometric(invers acelor de ceasornic) cu $90^o^$ de grade pe axa $d ∈ {'x', 'y', 'z'}$,privinddinspre sensul pozitiv al axelor. De exemplu, zarul $(6, 2, 3)$ dupăo rotire pe axa $'x'$ devine zarul $(4, 2, 6)$, dupăorotire pe axa $'y'$ devine $(6, 3, 5)$, şi dupăorotire pe axa $'z'$devine $(2, 1, 3)$.
* toate zarurile $Z_i$ cu $i$ de la $l$ la $r$ se rotesc in sens trigonometric cu $90^o^$ de grade pe axa $d ∈ {'x', 'y', 'z'}$ în următorul mod:
Gimi vrea să afle care este scorul pe care l-a obţinut după ce a aplicat cele Q operaţii asupra şirului.
**Insert image cu axele si fetele** Gimi vrea să afle care este scorul pe care l-a obţinut după ce a trişat făcând cele Q operaţii.
h2. Date de intrare
Fişierul de intrare $dicearray.in$ va conţine pe prima linie două numere naturale $N$ şi $Q$, reprezentând numărul de zaruri şi numărul de operaţii. Pe următoarele $N$ linii se vor afla câte trei numere $(top, front, left)$ ce descriu cele $N$ zaruri. Pe următoarele $Q$ linii se se vor află două numere $(l, r)$ şi un caracter $d ∈ {'x', 'y', 'z'}$ reprezentând operaţiile făcute asupra şirului de zaruri.
Fişierul de intrare $dicearray.in$ ...
h2. Date de ieşire
În fişierul de ieşire $dicearray.out$se va afla un singur număr $S$, reprezentând scorul pe care l-a obţinut Gimi după ce a evectuat cele $Q$ operaţii.
În fişierul de ieşire $dicearray.out$ ...
h2. Restricţii
* $1 ≤ N, Q ≤ 70 000$ * Pentru teste în valoare de 20 de puncte: $1 ≤ N, Q ≤ 1 000$ şi singurul tip de rotaţie va fi cel în jurul axei Ox * Pentru teste în valoare de 30 de puncte: $1 ≤ N, Q ≤ 1 000$ * Pentru teste în valoare de 20 de puncte: $1 ≤ N, Q ≤ 70 000$ şi singurul tip de rotaţie va fi cel în jurul axei Ox * Pentru teste în valoare de 30 de puncte: $1 ≤ N, Q ≤ 70 000$ * **Atenţie!** Toate operaţiile făcute de Gimi trebuie efectuate în ordinea datelor de intrare.
* $... ≤ ... ≤ ...$
h2. Exemplu table(example). |_. dicearray.in |_. dicearray.out |
| 3 3 6 2 3 6 2 3 6 2 3 1 1 x 2 2 y 3 3 z | 12 | | 6 3 1 2 4 5 6 3 4 5 1 6 4 2 3 2 1 3 1 5 4 5 y 3 4 z 3 4 x | 22 | | 12 5 2 6 4 5 3 1 3 2 1 2 6 4 4 2 6 5 3 1 4 6 5 2 4 1 5 4 6 6 3 5 2 3 6 2 4 1 2 4 z 7 11 z 6 8 x 2 2 x 1 1 z | 50
| This is some text written on multiple lines. | This is another text written on multiple lines.
| h3. Explicaţie
Pentru primul exemplu, după rotiri zarurile vor fi $(4, 2, 6), (6, 3, 5), (2, 1, 3)$.Răspunsul este $4 + 6 + 2 = 12$.
...
== include(page="template/taskfooter" task_id="dicearray") ==