.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » zar1

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
zar1


Timp maxim de execuţie / test:
0.1s
Memorie totala disponibilă / stivă:
2MB / 1MB

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.



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.



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ţă

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

Fişierul zar1.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

Fişierul zar1.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

• 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};
• Numărul de poziţii cu care se poate deplasa jetonul pentru un indicator de tip 1-8 este număr întreg nenul ≤ 50.

Exemple

zar1.inzar1.outExplicaţii
3 4 4 3 2 1 8 1 1 7 1 2 9 9 11 4 2 1 2 2 2 11 Iniţial jetonul este în pătrăţelul 1. După prima mutare el ajunge în pătrăţelul 5 (zarul arată 2 şi jetonul ar ajunge în pătrăţelul 3 dar indicatorul de acolo în trimite în pătrăţelul 5). După mutarea a doua jetonul ajunge în pătrăţelul 6 (acolo îl trimite zarul şi nu este întâlnit un indicator). După mutarea a treia, jetonul ajunge în pătrăţelul 7 (zarul îl trimite în 8, iar indicatorul de acolo în 7 – acum nu se tine cont de indicatorul din 7). După mutarea 4 jetonul ajunge la pătrăţelul 11 (după aruncarea cu zarul trebuia dus în 9 iar indicatorul de acolo îl trimite în 11).

autor: Prof. Marius Nicoli
propunător: Prof. Emanuela Cerchez
Colegiul Naţional ″Emil Racoviţă″
emanuela.cerchez@gmail.com
Probleme recomandate
De la ONI 2011: sport2, macheta, butoane, acces, mxl, segmente, tsunami, tort1, ec, ape, poligon4, stalpi2, furnici1, telecab, ikebana, posta, fotbal1, xmoto, radare, pamant, fagure, goe, papusa, taburet, joc17, mesaj3, joc16, talent, xy, arbore1, robot3, copii, hacker, terenuri3d, terenuri, expresie2, poteci, joc18
De acelaşi autor: secvente1, raze, bile5, 235, dreptunghiuri, triunghi2, albine1, puteri35, miere, left, arbgraf, reuniune, cazare, atletism, fluviu, stele, poteci, avioane, obstacole, liste, acoperire1, minusk, efect, b2k, progresii, reconst, mijloc, romb, alune, patru, galbeni, schi1, restaurare, sort2dist
Despre matrice: vopsea, harta, opmat, sarpe, light, magic2, tetris, origami, concurs, iepuras, tribile, criptmat, cutie, patrate, 3d, pajura, perspic, vecini2, livada, matrice3, kafka, erdos, grup, scor2, reteta2, rezervatie, scoici, tablou, game, stea, submatrix, cifru, jokes, oua, trecere, na, dotnet, renju, ghici, mere1, agitatie, lacuri, sotron, desen1, camion, ceas1, fibo, parc, excursia, matricea, zidar, joc6, log, concurs2, cladiri, dist, centru, robinson, cuburi2, joc8, joc9, romeo, adevar, soricel2, avere, joc11, vizibil, sah1, blockout, masina3, lsort, anticip, matrice1, evantai, spion, pereti, zumzi, roboti, placare, tabel, ocr, numere7, lacusta, becuri, sir5, flori, cartele, furnica, pavare, poarta, rj, peri, poligon2, sablon1, gradina, matrice4, poartas, balcon, submdisj, v, matrx, figura, neuroni, raze, roboti1, bila, iepurasi, colorare, mat, submatrix1, simetric1, plaja, xor2, guess, albine1, joct, alfabetar, stele, tablou1, alpinist, cladire, cri, grupe2, el, mahjong, sir9, acces, tort1, joc17, mesaj3, xy, poteci, avioane, broscute, safeu, acoperire1, radioactiv, robot4, lcdr, jb, slide, maxtri, dame, triunghi4, elicop, compresie, mijloc, cubulete, romb, medalion, bile6, zigzag, puncte5, intersectii, matd3, matrixdel, speed, seif1, traseu2, incadrare, betasah, zona, latin, zmax, amestec, sudoku1, gradina1, spider, zone, bemo, rombul, interclasare, rebus1, tabla, arrows, pseudobil, patrat1, rascoala, harta2, relatii, lasere, defrag, matcnt, ssdj, cript, ssk, teren1, fence, cifre6
Despre vector: trei, simetric, egal, ruleta, pod, uscat, afise, an, bunici, cursa, onu, tramvai, cadou, kpal, expresie, piticot, roci, petrol, grad, ruleta2, ecran, palma, concurs, holo, ab2, tren2, cifre, mgo, firma, anagrame, joc2, br, maxim, astre, numere2, baby, zapada, hd, startrek, vecini2, drept, teatru, tir, patrate2, nr, cifra, repeat, unu, criptare, ratb, placi, sume3, turist, matrice3, pavaj, sume, kafka, bacan, spair, grup, friends2, bitslang, fisc, scor2, cat, nr3, chimie2, zid, politics, submat, reteta2, rezervatie, creioane, felinare, 2numere, exp, scoici, patrate1, playlist, sqr, carte, oua, turn, ants, div3, jeton, politic, trecere, maraton, zaruri, suma1, mere1, agitatie, lacuri, secv, sotron, triunghi, carti1, spioni, kalah, excursia, matricea, maxq, oras, furnici, baschet, ingerasi, numar1, prieteni, aritma, cezar, bifo, pal, seceta, bare, soricel1, antena, avere, paianjen, bloc, schi, suma3, fractie, tunel, pepsi, prefix, tren3, avion, premii1, csir, top, bsir, secvente, cod4, cuburi3, limbaj, panouri, sant1, zumzi, sport1, baschet1, mere3, powerpuff, placare, sir4, volei1, tabel, ocr, numere7, lacusta, flori, pluton, elfi, mare, grupe1, maroco, cartonas, cabina, case, cod5, furnica, numere8, paritate, comoara1, exponent, control, exp1, joc13, popas, reactivi, siruri1, vanatoare, submult, text1, taxe1, visul, paranteze, puncte3, cub3, numere9, panglica, pietre, poartas, sume2, bal, secvsir, vot, prefix1, accesibil, palc, standard, bursa, meteo, jetoane, printesa, palindrom, joker, matriosca, loto, cuvant, cladiri1, secvente1, zar, tren4, asociativ, lego, medalii, figura, joc14, neuroni, char, dartz, turism1, calorii, xor1, paltrei, album, livada1, colorare, greutati, brazi, submatrix1, plaja, cd1, cifru3, permutare, miere, tetris1, conferinta, atelier, radical, bileprime, nx, atletism, sumb, minmax, sumacifre, jocprim, sircifre, cmmdcsecv, secvb, siruri3, cifru4, vase, carte1, grad1, litere, magic6, macheta, butoane, ec, stalpi2, fagure, goe, papusa, taburet, mesaj3, joc16, talent, joc18, cos, punctfix, risipa, liste, triburi, nr0, oneton, nor, nrpomi, paisprezece, anagramabil, zuma, joc20, dale, perechi2, consiliu, becuri2, codpatrat, adprod, qtri, reconst, arme, triunghi4, deal, ozn1, cifru5, flori1, elicop, roata, trifoi, maxbin, culori2, numar5, bile6, proiecte, alune, cuburi4, sstabil, intersectii, copaci2, 7segmente, amedie, drept2, divider, eliminare, matd3, prodnr, fraze, vectori1, compar, unific, galbeni, clepsidru, calcule, puncte6, maxp, cursa1, secvp, swap, extraprime, onigim, divizori1, remi1, tetris3, amestec, eoliene, split, momente, secvente2, ausoara, aranjare2, vintage, binremove, sminus, subsets, interclasare, palindromuri, colina, doitrei, rebus1, tcif, munte3, triunghi6, schi1, rascoala, solitar, praslea, vot2, tema, sprime, sir2dif, aperm, unudoi, prajituri, tan, concurs4, ech, arc, dominant, ordine, tv1, nebuni, sort2dist, lightbot, iepuras1, castig
Despre simulare: lbd, iepuras, tren2, mgo, joc2, kafka, comori, loc, bile3, cat, felinare, spioni, lift, kalah, cutii, roboti, pesti, joc16, safeu, joc20, dame, conjectura, arc, wb, robot6
surse trimise | ajutor