== include(page="template/taskheader" task_id="yinyang") ==
Se dă o matrice $A$ cu $N$ linii şi $M$ coloane, cu valori cuprinse între $1$ şi $N * M$ inclusiv, nu neapărat distincte. O operaţie constă în selectarea a două linii sau două coloane consecutive şi interschimbarea acestora (swap). O matrice $yin-yang$ este o matrice în care $A[i][j] ≥ A[i][j–1]$, pentru orice pereche $(i, j)$ cu $1 ≤ i ≤ N$ şi $2 ≤ j ≤ M$ şi $A[i][j] ≥ A[i–1][j]$, pentru orice pereche $(i, j)$ cu $2 ≤ i ≤ N$ şi $1 ≤ j ≤ M$.
Să se determine numărul minim de operaţii necesare pentru a transforma matricea dată într-o matrice $yin-yang$.
Poveste şi cerinţă...
h2. Date de intrare
În fişierul de intrare $yinyang.in$ se află scrise pe prima linie numerele naturale $N$ şi $M$, cu semnificaţia din enunţ. Pe fiecare dintre următoarele $N$ linii se află câte $M$ numere naturale, reprezentând elementele matricei date $A$. Numerele aflate pe aceeaşi linie a fişierului sunt separate prin câte un spaţiu.
Fişierul de intrare $yinyang.in$ ...
h2. Date de ieşire
În fişierul $yinyang.out$ se va scrie numărul minim de operaţii cerut sau $-1$ dacă nu există soluţie.
În fişierul de ieşire $yinyang.out$ ...
h2. Restricţii şi precizări
h2. Restricţii
* $1 ≤ N, M ≤ 100$
* Pentru teste în valoare de $9$ puncte: $1 ≤ N, M ≤ 5$
* Pentru alte teste în valoare de $18$ puncte: $N = 1$
* Pentru alte teste în valoare de $36$ de puncte elementele din matrice sunt **distincte**
* $10$ puncte sunt din oficiu (corespund unor teste egale cu exemplul).
h2. Exemple
table(example).
|_. yinyang.in
|_. yinyang.out
|_. Explicaţii
|
| 2 3
1 2 4
3 5 6
| 0
| Matricea dată este matrice yin-yang
|
| 2 3
6 6 5
4 6 2
| 3
| Operaţiile pot fi următoarele:
swap(linia 1 , linia 2),
swap(coloana 2, coloana 3),
swap(coloana 1, coloana 2).
|
* $... ≤ ... ≤ ...$
h2. Exemplu
table(example). |_. yinyang.in |_. yinyang.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
h3. Explicaţie
...
== include(page="template/taskfooter" task_id="yinyang") ==