Középiskolai Matematikai és Fizikai Lapok
Informatika rovattal
Kiadja a MATFUND Alapítvány
Már regisztráltál?
Új vendég vagy?

Az I. 185. feladat (2008. április)

I. 185. 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 (1\leN\le100), 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ó.

(10 pont)

A beküldési határidő 2008. május 15-én LEJÁRT.


A legtöbb versenyző észrevette, hogy a lehetséges sorrendek száma a Fibonacci számsorozat alapján határozható meg. A feladat megoldása visszavezethető egy speciális permutáció összes lehetséges sorrendjének előállítására. A speciális megkötés azt jelenti, hogy az eredeti sorozat egy eleme se cserélhet helyet 1-nél nagyobb távolságú másik elemmel. Ezt a szabályt figyelembe véve a legtöbb versenyző rekurzív cseremódszerrel állította elő a sorokat. Másik "klasszikus" módszer a feladat megoldására, a visszalépéses kereséssel történő előállítás. ( lovak.dpr)


Statisztika:

7 dolgozat érkezett.
10 pontot kapott:Adrián Patrik, Földes Imre, Horváth 135 Loránd, Szoldatics András, Véges Márton.
6 pontot kapott:1 versenyző.
4 pontot kapott:1 versenyző.

A KöMaL 2008. áprilisi informatika feladatai