Diferente pentru problema/dicearray intre reviziile #6 si #24

Diferente intre titluri:

dicearray
Dice Array

Diferente intre continut:

== include(page="template/taskheader" task_id="dicearray") ==
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.
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. Scorul unei aruncări 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$ 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!
* $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$)
Când Gimi aruncă cu zarurile îi zice lui Victor:
De exemplu, zarul $(6, 2, 3)$ arată astfel:
!problema/dicearray?623.png!
"Scoate mă si tu o ţiga până dau eu cu zarurile astea".
Când Gimi aruncă cu zarurile îi zice lui Victor: _"Scoate mă şi tu o acadea până dau eu cu zarurile astea."_
Cât timp Victor este distras, Gimi are timp să trişeze şi efectueze Q operaţii asupra şirului de zaruri In următorul fel.
Cât timp Victor este distras, Gimi are timp să trişeze prin efectuarea a Q operaţii asupra şirului de zaruri. O operaţie poate fi descrisă printr-un triplet $(l, r, d)$ astfel:
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'}$, privind dinspre sensul pozitiv al axelor. De exemplu, zarul $(6, 2, 3)$ după o rotire pe axa $'x'$ devine zarul $(4, 2, 6)$, după o rotire pe axa $'y'$ devine $(6, 3, 5)$, şi după o rotire pe axa $'z'$ devine $(2, 1, 3)$.
Toate zarurile Z_i cu i de la l la r se rotesc cu 90 de grade pe axa d (unde d poate fi x, y sau z).
 
**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.
Gimi vrea să afle care este scorul pe care l-a obţinut după ce a aplicat cele Q operaţii asupra şirului.
h2. Date de intrare
Fişierul de intrare $dicearray.in$ ...
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.
h2. Date de ieşire
În fişierul de ieşire $dicearray.out$ ...
Î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.
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 |
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
| 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
|
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") ==

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.