Diferențe pentru problema/iepurasi2 între reviziile #1 si #8

Diferențe între titluri:

iepurasi2
Iepurasi2

Diferențe între conținut:

== include(page="template/taskheader" task_id="iepurasi2") ==
Poveste și cerință...
!>problema/iepurasi2?iepurasi-fig1.png!
 
Un grup de prieteni se joacă Șerpișori și Iepurași. În acest joc fiecare jucător are câte un pion care se deplasează pe tablă în funcție de aruncarea zarurilor. Tabla de joc este o matrice pătratică de latură $N$ (număr natural impar). Celulele tablei sunt numerotate de la $1$ la $N[^2^]$, începând din colțul stânga-jos și terminând în colțul dreapta-sus. Ordinea de numerotare a celulelor este pe linii de jos în sus, iar pe linii, alternativ, de la stânga la dreapta și de la dreapta la stânga.
 
Pa tablă sunt desenați mai mulți iepurași și șerpișori, fiecare dintre ei conectând câte două celule distincte. Un exemplu de tablă este ilustrat în figuri.
 
Fiecare jucător începe cu pionul său din afara tablei de joc, chiar înaintea primei celule. Jucătorii joacă pe rând, mereu în aceeași ordine. Jucătorul aflat la mutare respectă următoarele reguli:
 
* Acesta aruncă două zaruri cu 6 fețe și își avansează pionul cu un număr de căsuțe egal cu suma zarurilor aruncate.
* Dacă pionul a ajuns pe o căsuță ocupată deja de alt jucător, atunci pionul va fi avansat pe prima căsuță liberă întâlnită.
Dacă pionul depășește ultima căsuță, atunci el va rămâne pe ultima căsuță.
* Dacă pionul a ajuns pe o căsuță pe care este figurat capul unui șerpișor sau picioarele unui iepuraș, atunci pionul va fi mutat pe căsuța corespunzătoare cozii șerpișorului, respectiv urechilor iepurașului. (Ultima celulă va fi liberă, iar o celulă va avea figurat cel mult un singur desen – cap de șerpișor, coadă de șerpișor, picioare de iepuraș sau urechi de iepuraș.)
* Jucătorul câștigă jocul dacă pionul ajunge pe ultima căsuță.
* Jucătorul câștigă jocul dacă pionul, respectând regulile anterioare, se mută la infinit (în continuu).
* Dacă jucătorul a aruncat o dublă (zarurile aruncate indică aceeași valoare) atunci, după aplicarea regulilor anterioare, va arunca din nou un singur zar și va urma din nou aceleași reguli.
 
h2. Cerință
 
Dându-se structura tablei de joc, numărul de jucători și secvența rezultatelor aruncărilor cu zarurile, determinați pozițiile finale ale tuturor jucătorilor sau dacă pionul unui jucător, respectând regulile jocului, se mută la infinit (în continuu).
h2. Date de intrare
Fișierul de intrare $iepurasi2.in$ ...
Fișierul de intrare $iepurasi2.in$ conține pe prima linie un număr [$N$], reprezentând dimensiunea tablei.
 
Pe următoarele $N$ linii este descrisă tabla de joc: fiecare linie conține câte $N$ caractere, fiecare dintre ele caracterizând câte o celulă, astfel: '$-$' reprezintă o celulă normală, cifrele ('[$0$]' – '[$9$]') reprezintă iepurașii iar literele alfabetului englez ('[$a$]' – '[$z$]') reprezintă șerpișorii. Pot fi cel mult $10$ iepurași și $26$ de șerpișori, fiecare dintre ei fiind caracterizați de o pereche distinctă de cifre, respectiv litere. Întotdeauna capul unui șerpișor se va afla pe o căsuță mai avansată decât căsuța pe care se află coada sa, iar urechile unui iepuraș se vor afla pe o căsuță mai avansată decât căsuța pe care se află picioarele sale.
 
Pe următoarea linie se află numărul [$J$], reprezentând numărul de jucători.
 
Pe următoarea linie se află un număr [$Z$]. Pe ultima linie se află un șir de $Z$ numere întregi între $1$ și [$6$], reprezentând aruncările de zar pe parcursul jocului.
h2. Date de ieșire
În fișierul de ieșire $iepurasi2.out$ ...
Dacă pionul unui jucător, respectând regulile jocului, se mută la infinit, atunci fișierul de ieșire $iepurasi2.out$ trebuie să conțină pe prima linie cuvântul „[$INFINIT$]”, iar pe a doua linie numărul jucătorului câștigător.
 
Altfel, fișierul $iepurasi2.out$ trebuie să conțină pe prima linie $J$ numere naturale reprezentând indicii căsuțelor pe care se află pionii fiecăruia dintre cei $J$ jucători la finalul secvenței de aruncări de zar.
h2. Restricții
* $... ≤ ... ≤ ...$
* $1 ≤ N ≤ 99$, $N$ este impar.
* $2 ≤ J ≤ 10$
* $2 ≤ Z ≤ 100.000$
* Secvența aruncărilor de zar ar putea să nu fie suficientă pentru determinarea unui câștigător. Întotdeauna vor exista suficiente aruncări de zar pentru ca jucătorul aflat la mutare să-și poată termina rândul. După stabilirea unui câștigător nu vor mai exista aruncări de zar.
* Dacă pionul unui jucător ajunge pe o căsuță pe care sunt figurate o coadă de șerpișor sau niște urechi de iepuraș, atunci nu se întâmplă nimic deosebit.
* Jucătorii sunt numerotați de la $1$ la [$J$].
h2. Exemplu
table(example).
|_. iepurasi2.in |_. iepurasi2.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
| 5
---a-
-a---
----1
---b-
b-1--
2
13
6 1 2 1 3 2 1 2 3 4 1 1 5
| 13 25
|
!>problema/iepurasi2?iepurasi-fig2.png!
 
h3. Explicație
...
J1 dă $(6, 1)$ și avansează la [$7$], unde este un cap de șerpișor, așa că revine la [$1$].
J2 dă $(2, 1)$ și avansează la [$3$], unde sunt picioarele unui iepuraș, așa că avansează la [$15$].
J1 dă $(3, 2)$ și avansează de la $1$ la [$6$].
J2 dă $(1, 2)$ și avansează de la $15$ la [$18$].
J1 dă $(3, 4)$ și avansează de la $6$ la [$13$].
J2 dă $(1, 1)$ și avansează de la $18$ la [$20$], iar apoi dă din nou $5$ și avansează de la $20$ la [$25$].
== include(page="template/taskfooter" task_id="iepurasi2") ==

Nu există diferențe între securitate.