== include(page="template/taskheader" task_id="zar2") ==
Maria a primit cadou un joc. Jocul are o tablă sub formă de caroiaj dreptunghiular format din pătrățele de latură 1 dispuse în L linii și C coloane. Pătrățelele conțin primele L*C numere naturale nenule începând cu 1, reprezentând coduri. Codificarea se face astfel: se începe cu valoarea 1 din pătrățelul din stânga-jos, se continuă cu valorile 2,3,...C de la stânga la dreapta, continuă pe rândul următor de la dreapta la stânga și așa mai departe. În acest fel ultimul pătrățel va fi codificat întotdeauna cu valoarea L*C, ca în exemplul din dreapta.
Jocul constă în plasarea unui jeton în colțul din stânga jos și trebuie să se ducă jetonul dincolo de pătrățelul codificat cu valoarea L*C în urma mutărilor realizate. Pentru efectuarea unei mutări, el aruncă mai întâi un zar. Dacă acesta arată valoarea Z și jetonul se află în pătrățelul cu codul P, jetonul va fi dus în pătrățelul cu codul P+Z. Dacă P+Z>L*C, jocul se termină. În caz contrar, există situații în care jetonul nu va rămâne neapărat în noua poziție, întrucât în unele poziții ale caroiajului sunt indicatoare care precizează unde trebuie dus jetonul care tocmai a ajuns în acea poziție.
4 3 2
5 X 1
6 7 8
Un pătrățel poate să conțină cel mult un indicator. Indicatoarele sunt de 9 tipuri: pentru primele 8 tipuri se precizează peste câte poziții se va plasa jetonul din poziția curentă, respectiv: pe aceeași linie la dreapta(1), în diagonală pe direcția dreapta-sus(2), pe aceeași coloană în sus(3), pe diagonală pe direcția stânga-sus(4), pe aceeași linie la stânga(5), pe diagonală pe direcția stânga-jos(6), pe aceeași coloană în jos(7), în diagonală pe direcția dreapta-jos(8). Indicatorul de tipul 9 precizează codul unui pătrățel în care va fi plasat jetonul.
Maria a primit cadou un joc. Jocul are o tablă sub formă de caroiaj dreptunghiular format din pătrățele de latură 1 dispuse în L linii și C coloane. Pătrățelele conțin primele L*C numere naturale nenule începând cu 1, reprezentând coduri. Codificarea se face astfel: se începe cu valoarea 1 din pătrățelul din stânga-jos, se continuă cu valorile 2,3,...C de la stânga la dreapta, continuă pe rândul următor de la dreapta la stânga și așa mai departe. În acest fel ultimul pătrățel va fi codificat întotdeauna cu valoarea L*C, ca în exemplul următor.
!problema/zar2?p1.jpg!
Jocul constă în plasarea unui jeton în colțul din stânga jos și trebuie să se ducă jetonul dincolo de pătrățelul codificat cu valoarea L*C în urma mutărilor realizate. Pentru efectuarea unei mutări, el aruncă mai întâi un zar. Dacă acesta arată valoarea Z și jetonul se află în pătrățelul cu codul P, jetonul va fi dus în pătrățelul cu codul P+Z. Dacă P+Z>L*C, jocul se termină. În caz contrar, există situații în care jetonul nu va rămâne neapărat în noua poziție, întrucât în unele poziții ale caroiajului sunt indicatoare care precizează unde trebuie dus jetonul care tocmai a ajuns în acea poziție.
Un pătrățel poate să conțină cel mult un indicator. Indicatoarele sunt de 9 tipuri: pentru primele 8 tipuri se precizează peste câte poziții se va plasa jetonul din poziția curentă, respectiv: pe aceeași linie la dreapta (1), în diagonală pe direcția dreapta-sus (2), pe aceeași coloană în sus (3), pe diagonală pe direcția stânga-sus (4), pe aceeași linie la stânga (5), pe diagonală pe direcția stânga-jos (6), pe aceeași coloană în jos (7), în diagonală pe direcția dreapta-jos (8). Indicatorul de tipul 9 precizează codul unui pătrățel în care va fi plasat jetonul.
!problema/zar2?p2.jpg!
La aplicarea unui indicator se respectă regulile:
a) dacă jetonul iese în afara tablei, acest indicator va fi neglijat, iar jetonul va rămâne pe loc (jocul nu se poate termina astfel).
b) dacă se ajunge într-un pătrățel care conține un alt indicator, acesta nu va mai fi luat în considerare.
Cerință
h2. Cerință
Cunoscând, în ordine, cele K valori obținute în urma aruncărilor cu zarul, să se determine dacă jocul se poate încheia. În caz afirmativ se va afișa numărul de aruncări cu zarul după care jocul se încheie. În caz contrar, se va afișa poziția jetonului după cele K mutări.
Date de intrare
h2. Date de intrare
Fișierul zar.in conține pe prima linie două numere L și C reprezentând numărul de linii, respectiv numărul de coloane ale tablei de joc. Pe linia a 2-a se găsește un număr natural I reprezentând numărul de pătrățele în care se găsesc indicatoare. Pe următoarele I linii se găsesc câte 3 numere naturale separate prin câte un spațiu reprezentând descrierea câte unui indicator. Primul număr este codul pătrățelului în care este pus indicatorul, al doilea număr este tipul de indicator. Dacă tipul de indicator este 9, al treilea număr semnifică codul pătrățelului unde va fi trimis jetonul. Dacă al doilea număr este din mulțimea {1, 2, 3, 4, 5, 6, 7, 8}, al treilea număr reprezintă numărul de poziții de pe tablă peste care se va muta jetonul în direcția precizată. Pe linia următoare se află un număr natural K reprezentând numărul de aruncări cu zarul. Pe următoarea linie sunt K numere naturale separate prin câte un spațiu, reprezentând, în ordine, valorile obținute după fiecare aruncare.
Date de ieșire
h2. Date de ieșire
Fișierul zar.out va conține pe prima linie două numere naturale separate printr-un spațiu. Dacă jocul se termină, prima valoare va fi 1, iar a doua va reprezenta numărul de mutări după care s-a terminat. Dacă jocul nu se termină, prima valoare va fi 2, iar a doua codul pătrățelului unde a rămas jetonul.
Restricții și precizări:
h2. Restricții și precizari
• 1 ≤ L, C ≤ 50; 0 ≤ I ≤ L*C;
• 1 ≤ K ≤ 1000;
• Valorile obținute în urma aruncărilor cu zarul sunt numere din mulțimea {1, 2, 3, 4, 5, 6};