Feladat: S.52 Korcsoport: - Nehézségi fok: -
Füzet: 2010/március, 163 - 164. oldal  PDF  |  MathML 
Témakör(ök): Nehezebb 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.

Az ábra egy tavat ábrázol, amelyben egy kígyó rejtőzik. Az állat teste vízszintesen és függőlegesen tekereg, de saját magát még sarkosan sem érinti. A fekete mezők sziklák, melyeken a kígyó nem haladhat át. A táblázat alatti sorban lévő számok azt jelölik, hogy az adott oszlopban hány mezőben van kígyórész. A kígyó feje és farka adott, kilátszik a vízből.

 
 

Készítsünk programot, amely megadja, hogy a kígyó hogyan helyezkedik el a vízben. A program a parancssor első argumentumaként megadott bemeneti állománya a tó és a kígyó ismert adatait tartalmazza. Az első sor a négyzet alakú tó N (3N20) oldalhosszát, a kígyó M (3M) méretét, míg a második sor négy, szóközzel ellátott E1, E2, V1 és V2 egész száma (1E1,E2,V1,V2N) a kígyó fejének és farkának koordinátáját adja meg. A harmadik sor K (0KN) a vízben lévő sziklák számát, majd az ezt követő K darab sor mindegyike két egész számot, a sziklák koordinátáját tartalmazza. Az utolsó sor N darab számot tartalmaz, amelyek az oszlopok kígyórészeinek számát adja meg.
A parancssor második argumentumaként megadott kimeneti állomány N sorban a tavat, illetve a kígyó helyzetét jelenítse meg. A tó minden cellájának tartalmát három karakternyi helyre írjuk ki. A vizet szóközök, a kígyó testét a fejtől mért távolság ábrázolja.
Ha a feladatnak nincs megoldása, akkor a kimenet tartalma ,,Nincs megoldás'' legyen.
 
 

Beküldendő egy tömörített s52.zip állományban a program forráskódja (s52.pas, s52.cpp, ...), valamint a program dokumentációja (s52.txt, s52.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ó.
A feladat ötletének alapja a Magyar logikai rejtvények weboldalról származik.