Feladat: S.121 Korcsoport: - Nehézségi fok: -
Füzet: 2017/december, 558. oldal  PDF  |  MathML 
Témakör(ök): Nehezebb feladat, Programozás, algoritmusok

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

Egy N×M-es négyzetháló mezőire pozitív egész számokat írtunk 1-től 6-ig. A bal felső négyzeten elhelyeztünk egy kockát, amelynek oldalaira szintén egy-egy pozitív egész számot írhatunk 1-től 6-ig. A négyzetháló négyzetei és a kocka oldalai azonos méretűek, a kocka bármely lapja pontosan a négyzetháló négyzetére illeszkedik. A kockát el kell juttatni a négyzetháló jobb alsó sarkába a következő két művelet megfelelő sorrendben történő többszöri alkalmazásával:

1.Az álló kocka a négyzethálóra merőleges forgástengelye körül derékszögben (akár többször is) elforgatható.
2.A kocka az egyik négyzethálón fekvő éle körül derékszögben elforgatható úgy, hogy egy másik lapján álljon, de csak akkor, ha azonos számok kerülnek egymásra.

Tehát a kocka minden helyzetében ‐ induláskor is ‐ olyan lapon áll, amelynek száma egyezik annak a négyzetnek a számával, amelyen áll. A négyzetháló négyzetein található számok ismeretében adjuk meg, hogy milyen számokat írjunk a kocka lapjaira, hogy az eljusson a jobb alsó négyzetre.
A program standard bemenete N és M, majd a következő N sor mindegyikében M darab szám van 1-től 6-ig, amelyek a négyzetháló számai. A program standard kimenete vagy 0, ha nem létezik megfelelő feliratozás a kockára, vagy a kockán szereplő számok. A kezdő helyzetben álló kocka oldalain az alsó, a felső, majd rendre a négy egymáshoz csatlakozó oldalán lévő számokat adjuk meg. Több megoldás esetén elegendő egy alkalmas feliratozást megadni.
 
Példa bemenetPélda kimenet   4 5   1 3 4 6 2 4   1 2 3 1 45 3 6 3 53 4 1 1 43 4 3 6 4
 

Korlátok: 1N,M100.
Értékelés: a megoldás lényegét leíró dokumentáció 1 pontot ér. További 9 pont kapható arra a programra, amely a korlátoknak megfelelő bemenetekre helyes kimenetet ad 1 másodperc futásidő alatt. Részpontszám kapható arra a programra, amely csak kisebb N, M érték esetén ad helyes eredményt 1 másodpercen belül.
Beküldendő egy s121.zip tömörített állományban a megoldást leíró dokumentáció és a program forráskódja.