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

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


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

Una dintre pasiunile celor doi fraţi Rareş şi Bogdan este de a inventa jocuri. Cel mai recent joc inventat de ei se numeşte xy şi se joacă de către doi jucători ce completează pătrate alternativ pe o suprafaţă dreptunghiulară împărţită în nxm pătrate identice, ca în figurile alăturate. Se consideră că pătratul din colţul stânga-sus al suprafeţei este poziţionat pe linia 1 şi coloana 1, iar pătratul din colţul dreapta-jos este poziţionat pe linia n şi coloana m.
Se consideră mutare, etapa în care unul dintre jucători completează cel puţin un pătrat de pe suprafaţa dreptunghiulară. Mutările se execută alternativ, astfel:
• Primul jucător alege un pătrat, îl completează cu caracterul x şi încearcă să traseze un X cât mai mare cu centrul în pătratul ales, ca în figura 3, în care pătratul ales este poziţionat pe linia 3 şi coloana 3.
• Cel de-al doilea jucător alege şi el un pătrat, îl completează cu caracterul y şi încearcă să traseze un Y cât mai mare cu centrul în pătratul ales, ca în figura 4, în care pătratul ales este poziţionat pe linia 3 şi coloana 3.
Tabla de joc din figurile alăturate conţine 6x5 pătrate poziţionate pe 6 linii şi 5 coloane. Cel mai mic X, respectiv cel mai mare, care poate fi trasat pe această tablă de joc este cel din figura 1, respectiv cel din figura 3, prin completarea cu caracterul x a pătratelor necompletate, putând fi trasat în orice loc corespunzător de pe tabla de joc.



Cel mai mic Y, respectiv cel mai mare, care poate fi trasat pe această tablă de joc prin completarea cu caracterul y a pătratelor necompletate, este cel din figura 2, respectiv cel din figura 4, putând fi trasat în orice loc corespunzător de pe tabla de joc.
Jocul se încheie dacă se ajunge într-una dintre următoarele situaţii:
- unul dintre jucători alege ca centru un pătrat completat de oricare jucător la o mutare anterioară;
- jucătorul ce trebuie să efectueze mutarea, completează pe tabla de joc doar pătratul ales ca centru şi nu poate trasa X-ul sau Y-ul;
- s-au efectuat toate mutările propuse.
Pentru că cei doi copii sunt fraţi, nu-i interesează cine câştigă.

Cerinţă

Scrieţi un program care citeşte trei numere naturale n, m, k şi un şir de k mutări pe care cei doi fraţi doresc să le efectueze, alternativ, în ordinea dată şi apoi determină:
• numărul maxim a de pătrate completate în timpului unei mutări;
• numărul b de pătrate rămase libere după încheierea jocului;
• numărul maxim c de pătrate completate care formează o suprafaţă dreptunghiulară pe tabla de joc la finalul jocului.

Date de intrare

Fişierul de intrare xy.in conţine pe prima linie trei numere naturale n, m şi k, separate prin câte un spaţiu, cu semnificaţia din enunţ. Următoarele k linii conţin fiecare câte două numere naturale i şi j, separate prin câte un spaţiu, reprezentând linia i şi coloana j unde este poziţionat pătratul ales drept centru pentru a se efectua mutarea propusă.

Date de ieşire

Fişierul de ieşire xy.out va conţine pe prima linie cele trei numere determinate de program: a b c, separate prin câte un spaţiu, în această ordine, cu semnificaţia din enunţ.

Restricţii

• 0 < n, m, i, j < 101
• 0 < i ≤ n
• 0 < j ≤ m
• 0 < k < 10000
• n, m, i, j, k sunt numere naturale;
• iniţial, toate pătratele de pe tabla de joc sunt necompletate;
• completarea unui pătrat se realizează prin scrierea caracterului x sau y în acesta, primul jucător completând doar cu caracterul x, iar al doilea jucător doar cu caracterul y;
• fiecare jucător completează pe tablă mai întâi pătratul ales ca centru şi apoi încearcă trasarea semnului său;
• în timpul unei mutări, la trasarea unui X, respectiv Y, jucătorii pot utiliza pătrate completate într-o mutare anterioară, fără să le numere la această mutare;
• o suprafaţă dreptunghiulară formată din pătrate completate de pe tabla de joc poate fi constituită din:
o cel puţin un pătrat completat
o mai multe pătrate completate situate pe o aceeaşi linie şi coloane consecutive
o mai multe pătrate completate situate pe o aceeaşi coloană şi linii consecutive
o mai multe pătrate completate situate pe linii şi coloane consecutive

Exemple

xy.inxy.outExplicaţii
6 5 5 3 2 4 4 3 4 2 4 5 4 5 17 9 La prima mutare, primul jucător trasează un X, cu centrul în linia 3 şi coloana 2, prin completarea a 5 pătrate cu caracterul x.
La a doua mutare, al doilea jucător trasează un Y cu centrul în linia 4 şi coloana 4, prin completarea a 4 pătrate cu caracterul y.
La a treia mutare, primul jucător trasează un X, cu centrul în linia 3 şi coloana 4, prin completarea doar a 3 pătrate cu caracterul x deoarece foloseşte 2 pătrate completate la prima mutare.
La a patra mutare, al doilea jucător reuşeşte să completeze cu caracterul y doar pătratul ales ca centru, situat în linia 2 şi coloana 4, şi jocul se încheie deoarece nu se poate realiza trasarea lui Y.



A cincea mutare propusă nu se efectuează întrucât jocul s-a încheiat.

autor: Prof. Cristina Sichim
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, zar1, joc16, talent, arbore1, robot3, copii, hacker, terenuri3d, terenuri, expresie2, poteci, joc18
De acelaşi autor: ruleta2, tetris, oua, tren4, pesti, plaja, carte1, porumb1, plus, sudoku1, covor1
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, zar1, 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
surse trimise | ajutor