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

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


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

Se dă o tablă de şah cu m linii şi n coloane, cu m*n număr par şi m*n/2 piese de domino de dimensiune cât două pătrăţele alăturate de pe tabla de şah.
Pe fiecare piesă de domino se află două numere egale (câte unul în fiecare pătrăţel) din mulţimea {1, 2, …, m*n/2}. Nu există două piese de domino cu aceleaşi numere.
Se cere să se găsească o modalitate de aşezare a tuturor pieselor de domino pe tabla de şah astfel încât:
– oricare două piese de pe tablă nu se suprapun;
– orice paralelă la laturile tablei de şah intersectează interiorul cel puţin uneia dintre piesele de domino.

Cerinţă

Scrieţi un program care să determine o modalitate de aşezare a pieselor de domino cu respectarea condiţiilor din enunţ.

Date de intrare

Fişierul de intrare domino.in conţine pe prima linie numerele naturale m şi n, separate printr-un spaţiu.

Date de ieşire

Fişierul de ieşire domino.out va conţine m linii, pe fiecare linie se vor afla câte n numere separate prin câte un spaţiu, reprezentând în ordinea liniilor, iar pe aceeaşi linie în ordinea coloanelor, numerele scrise pe dominourile de pe tabla de şah, în cazul în care există soluţie. Dacă nu există soluţie în fişierul domino.out se va scrie pe prima linie cifra 0.

Restricţii

2 <= m, n <= 500
m*n
este număr par

Exemple

domino.indomino.outExplicaţii
5 6 1 2 2 4 4 5 1 3 3 6 7 5 8 8 9 6 7 13 10 11 9 12 12 13 10 11 14 14 15 15 Exemplul anterior corespunde aşezării următoare:



autor: Prof. Doru Popescu Anastasiu
propunător: Prof. Emanuela Cerchez
Liceul de Informatica ″Grigore Moisil″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
surse trimise | ajutor