====== Hlavolam ======
Zadání: http://cw.felk.cvut.cz/courses/a4m33pal/task.php?task=hlavolam
Mějme hlavolam, který představuje dvojrozměrné pole s rozměry M×N. Každé políčko hlavolamu obsahuje přirozené číslo v rozsahu od 1 do M·N. Každé číslo od 1 do M·N je v hlavolamu zastoupeno právě jediným políčkem. Nad hlavolamem jsou povoleny provádět pouze následující čtyři operace:
levá rotace řádku, pravá rotace řádku, levá rotace sloupce, pravá rotace sloupce.
Rotace je definovaná následovně:
Nechť a0 až a//k//-1 jsou všechna políčka nějakého vybraného řádku nebo sloupce, který chceme rotovat. Pravá rotace permutuje políčka podle jejich indexů permutací ''pR'', kde ''pR[i]=(i+1) mod //k//''. Levá rotace permutuje políčka podle jejich indexů permutací ''pL'', kde ''pL[i]=(i+//k//-1) mod //k//''.
Úkolem pro Vás je zjistit, jaké je potřeba nejmenší množství operací k složení hlavolamu ze zadaného startovního stavu do zadaného cílového stavu.
===== Vstup =====
Na prvním řádku budou dvě čísla M a N oddělená mezerou udávající rozměry hlavolamu.
Na dalších řádcích budou za sebou následovat dva hlavolamy. První bude popisovat startovní hlavolam a druhý bude popisovat cílový hlavolam.
Každý hlavolam bude představovat M řádků, kde na každém řádku bude N přirozených čísel oddělených mezerou.
Předpokládejte, že vstupní formát je vždy korektní a maximální možná velikost hlavolamu je vždy menší nebo rovna 20. Velikostí hlavolamu myslíme počet políček hlavolamu tj. součin M·N.
===== Výstup =====
Výstupem bude vždy jediný řádek s celým číslem udávajícím minimálním počet operací potřebných k složení hlavolamu. Pokud složení hlavolamu nebude možné, bude výsledné celé číslo ''-1''.
===== Příklad: =====
Vstup:
2 4
1 2 3 4
5 6 7 8
2 5 6 1
8 3 4 7
Výstup:
4
===== Ilustrativní popis možného vzniku cílového hlavolamu ze startovního: =====
Startovní hlavolam:
1 2 3 4
5 6 7 8
Levá rotace prvního řádku:
2 3 4 1
5 6 7 8
Pravá rotace druhého řádku:
2 3 4 1
8 5 6 7
Levá rotace druhého sloupce:
2 5 4 1
8 3 6 7
Pravá rotace třetího sloupce:
2 5 6 1
8 3 4 7