Feladat: I.185 Korcsoport: - Nehézségi fok: -
Füzet: 2008/április, 233. oldal  PDF  |  MathML 
Témakör(ök): Feladat

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 lovakat abrakolni egymás mellé, egy hosszú rúdhoz kötik ki. Az etetőbe mindenféle takarmány kerül, mert a ló ínyenc állat, és ezért változatos takarmányt igényel. Ahhoz, hogy válogatni tudjanak, a kötőféket olyan lazán hagyják, hogy egy-egy ló a saját helyével szomszédos helyen álló lóval helyet tud cserélni, de messzebb már nem tud elsétálni.
Írjunk programot, amely megadja, hogy a lovak sorrendje etetés közben hányféle lehet és adjuk meg az összes lehetséges sorrendet. A program a lovak számát és nevét fájlból olvassa be, és az eredményt fájlba írja ki. A bemeneti, illetve kimeneti fájlok neve az első, illetve második parancssori argumentum legyen.
A bemenet első sorában a lovak száma (1N100), az ezt követő N sorban a rúdhoz kötés sorrendjében a lovak neve található.

 
 

A kimeneti szöveges állomány első sorában a lovak sorrendjének lehetséges száma és az azt követő ugyanennyi sorban az egyes ló-sorrendek.
Beküldendő a program forráskódja (i185.pas, i185.cpp, ...), valamint a program rövid dokumentációja (i185.txt, i185.pdf, ...), amely tartalmazza a megoldás rövid leírását, és megadja, hogy a forrásállomány melyik fejlesztő környezetben fordítható.