perspico

Time limit: 0.25s Memory limit: 32MB Input: perspico.in Output: perspico.out

Inspirată de faimosul Perspico, Miruna se gândeşte la următorul joc: se dă o matrice cu NN linii şi MM coloane în care fiecare număr între 00 şi NM1N \cdot M - 1 apare exact o singură dată. O mutare validă în acest joc constă din interschimbarea elementului 00 cu unul dintre cei 44 vecini ai săi. Miruna câştigă dacă reuşeşte să aducă matricea în următoarea configuraţie:

  • Pe orice poziţie (x,y)(x, y), cu excepţia poziţiei (N,M)(N, M), trebuie să se găsească valoarea (x1)M+y(x - 1) \cdot M + y;
  • Pe poziţia (N,M)(N, M) trebuie să se găsească valoarea 00.

Cerinţă

Fiind dată o configuraţie a jocului ajutaţi-o pe Miruna să îl termine, iar ea vă va răsplăti cu un pupic ;).

Date de intrare

Pe prima linie din fişierul de intrare perspico.in se află 22 numere întregi NN şi MM, având semnficaţia din enunţ. Următoarele NN linii vor conţine câte MM numere naturale, reprezentând elementele matricei.

Date de ieșire

În fişierul de ieşire perspico.out se vor scrie mai multe numere naturale din intervalul [1,4][1, 4], reprezentând mutările efectuate, codificarea lor fiind următoarea:

  • 11 – Dacă elementul 00 se interschimbă cu cel de deasupra.
  • 22 – Dacă elementul 00 se interschimbă cu cel din dreapta.
  • 33 – Dacă elementul 00 se interschimbă cu cel de dedesubt.
  • 44 – Dacă elementul 00 se interschimbă cu cel din stânga.

Restricții și precizări

  • 2N,M642 \leq N, M \leq 64
  • Dacă există mai multe soluţii poate fi afişată oricare.
  • Se garantează că pe toate fişierele de test există cel puţin o soluţie.

Exemplu

perspico.in

3 3
0 1 3
4 2 6
7 5 8

perspico.out

3

Explicație

Mutările efectuate vor fi în direcţiile: E, S, S, E.
După efectuarea lor matricea va arăta astfel:

1 2 3
4 5 6
7 8 0

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