dom

Time limit: 0.1s Memory limit: 64MB Input: dom.in Output: dom.out

Se dă o tablă de şah cu mm linii şi nn coloane, cu mnm \cdot n număr par şi mn2\frac{m \cdot 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,,mn2}\{ 1, 2, …, \frac{m \cdot 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 dom.in conţine pe prima linie numerele naturale mm şi nn, separate printr-un spaţiu.

Date de ieşire

Fişierul de ieşire dom.out va conţine mm linii, pe fiecare linie se vor afla câte nn 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 dom.out se va scrie pe prima linie cifra 00.

Restricții și precizări

  • 2m,n5002 \leq m,n \leq 500
  • mnm \cdot n este număr par

Exemplu

dom.in

5 6

dom.out

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

Explicație

Exemplul anterior corespunde aşezării următoare:

Log in or sign up to be able to send submissions!