Feladat: I.484 Korcsoport: - Nehézségi fok: -
Füzet: 2019/május, 292 - 293. oldal  PDF  |  MathML 

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.

A Hanoi tornyai nevű játék rendkívül egyszerű. Három rúddal és N darab különböző méretű koronggal játszható. Kezdetben az egyik rúdon N korong helyezkedik el, alul a legnagyobb, majd fölötte rendre a kisebbek. Ekkor a másik két rúd üres. A játék szabályai szerint az egyik rúdról egy másikra kell átrakni a korongokat úgy, hogy minden lépésben egy korongot lehet áttenni, de nagyobb korong nem tehető kisebb korongra.
Peti is elkezdte játszani a játékot, de nem ért a végére. A játékot egy ilyen állapotban találjuk meg. Készítsünk programot, amely megad egy lehetséges lépéssorozatot, amellyel ez az állapot előállítható.
A program standard bemenetének első sorában annak a rúdnak a sorszáma szerepel, amelyen kezdetben az összes korong volt. A következő sorban három szám, az egyes rudakon található korongok száma van. A következő három sorban az adott rúdon található korongok mérete szerepel csökkenő sorrendben. A kimenet első sora egyetlen számot tartalmaz, az állapot eléréséhez szükséges lépések L számát. A következő L sor mindegyikében két szám található, egymástól pontosan egy szóközzel elválasztva. Az első szám megadja a rudat amelyről, a második pedig azt a rudat, amelyre átkerül a felső korong. Feltételezhetjük, hogy Peti legfeljebb 10 koronggal játszik.

 
Példa bemenet   Példa kimenet   (a  /  jel sortörést helyettesít)2   6   2 2 0   2 1 / 2 3 / 1 3 / 2 1 / 3 2 / 3 1   3 2 / 4 1 /   
 

Beküldendő egy i484.zip tömörített állományban a program forráskódja és a hozzá kapcsolódó dokumentáció. Utóbbi a problémamegoldás lényeges elemeire világít rá, valamint tartalmazza, hogy a forrásállomány melyik fejlesztő környezetben fordítható.