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 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 şi coloana , iar pătratul din colţul dreapta-jos este poziţionat pe linia şi coloana .
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 unX
cât mai mare cu centrul în pătratul ales, ca în , în care pătratul ales este poziţionat pe linia şi coloana . - Cel de-al doilea jucător alege şi el un pătrat, îl completează cu caracterul
y
şi încearcă să traseze unY
cât mai mare cu centrul în pătratul ales, ca în , în care pătratul ales este poziţionat pe linia şi coloana .
Tabla de joc din figurile alăturate conţine pătrate poziţionate pe linii şi coloane. Cel mai mic X
, respectiv cel mai mare, care poate fi trasat pe această tablă de joc este cel din , respectiv cel din , 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 , respectiv cel din , 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 , , şi un şir de mutări pe care cei doi fraţi doresc să le efectueze, alternativ, în ordinea dată şi apoi determină:
- numărul maxim de pătrate completate în timpului unei mutări
- numărul de pătrate rămase libere după încheierea jocului
- numărul maxim 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 , şi , separate prin câte un spaţiu, cu semnificaţia din enunţ. Următoarele linii conţin fiecare câte două numere naturale şi , separate prin câte un spaţiu, reprezentând linia şi coloana 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: , şi , separate prin câte un spaţiu, în această ordine, cu semnificaţia din enunţ.
Restricţii şi precizări
- 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
sauy
în acesta, primul jucător completând doar cu caracterulx
, iar al doilea jucător doar cu caracteruly
- 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
, respectivY
, 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:
- cel puţin un pătrat completat
- 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
- mai multe pătrate completate situate pe linii şi coloane consecutive
- pentru rezolvarea corectă a primei cerinţei se acordă din punctaj, pentru rezolvarea corectă a celei de a doua cerinţe din punctaj şi pentru rezolvarea corectă a celei de a treia cerinţe din punctaj.
Exemplu
xy.in
6 5 5
3 2
4 4
3 4
2 4
5 4
xy.out
5 17 9
Explicaţie
La prima mutare, primul jucător trasează un X
, cu centrul în linia şi coloana , prin completarea a pătrate cu caracterul x
.
La a doua mutare, al doilea jucător trasează un Y
cu centrul în linia şi coloana , prin completarea a pătrate cu caracterul y
.
La a treia mutare, primul jucător trasează un X
, cu centrul în linia şi coloana , prin completarea doar a pătrate cu caracterul x
deoarece foloseşte 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 şi coloana , ş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.