Fişierul intrare/ieşire:iepurasi2.in, iepurasi2.outSursăIEEEXtreme 2015
AutorAdăugată despatarelSpatarel Dan-Constantin spatarel
Timp execuţie pe test1 secLimită de memorie16384 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise

Iepurasi2

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 N2, î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.

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).

Date de intrare

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.

Date de ieşire

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.

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.

Exemplu

iepurasi2.iniepurasi2.out
5
---a-
-a---
----1
---b-
b-1--
2
13
6 1 2 1 3 2 1 2 3 4 1 1 5
13 25

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.

Trebuie sa te autentifici pentru a trimite solutii. Click aici