Adott egy 4x4-es mátrix. Kettő Kivételével minden eleme egy 1 és 14 közötti egész. Minden szám csak egyszer fordulhat elő, két cella pedig üresen marad. Az első ábrán egy ilyen elrendezést láthatunk.
7 3 5 14 4 9 13 1 2 10 11 8 12 6
1 2 3 4 5 6 7 8 9 10 11 12 13 14 Bármely elem áttolható a szomszédos üres cellák egyikébe, de csak vízszintes vagy függőleges irányban. Az elemet eredetileg tartalmazó cella természetesen üressé válik.
Feladat:
Írj programot, amely:
- Soronként beolvassa a billentyűzetről a kezdő mátrix elemeit (0 és 14 közötti egészeket).
- Bármely kezdeti elrendezést (például az 1. ábrán láthatót) átalakít a második ábrán látható, végső elrendezéssé.
- Minden változtatás után a képernyőn megjeleníti
- a lépés sorszámát (az összes lépés száma a folyamat végén így leolvasható);
- a képernyő bal szélén a mozgatás előtti;
- a képernyő jobb szélén pedig a mozgatás utáni mátrixot.
- Minimalizálja a szükséges lépések számát.