Az I. 180. feladat (2008. február) |
I. 180. Helyezzünk el nyolc bástyát a sakktáblán úgy, hogy közülük négy világos, négy sötét mezőre kerüljön, és egyik se üsse a másikat. Készítsünk számítógépes programot, amely megadja az összes lehetséges elhelyezést. A sakktábla oszlopai és sorai a szokásos módon betűkkel és számokkal vannak jelölve. Két elhelyezést akkor tekintünk különbözőnek, ha abban valamely mezőn az egyik elhelyezésben van bástya, a másikban pedig nincs. A program az összes elhelyezést egy szöveges állományba írja. Az állomány neve a program egyetlen parancssori argumentuma. Az elhelyezéseket a program az általa talált sorrendben írja a kimeneti állományba. Minden elhelyezés leírása tíz sorból áll: az első sorban az elhelyezés sorszáma szerepel, majd az ezt követő nyolc sorban a bástyák elhelyezése, és azután egy üres sor. A bástyák elhelyezését a táblán ,,X'' karakterek, az üres mezőket a pont (,,.'') jelzi:
X.......
.X......
...X....
..X.....
......X.
....X...
.......X
.....X..
Beküldendő a program forráskódja (i180.pas, i180.cpp, ...), valamint a program rövid dokumentációja (i180.txt, i180.pdf, ...), amely tartalmazza vázlatosan a megoldás 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árcius 17-én LEJÁRT.
A feladat szépen megoldható pl. visszalépéses kereséssel. Mintaként Szabó Gábor 11. osztályos budapesti diák munkáját i180.cpp, valamint Földes Imre szintén 11. osztályos szolnoki versenyző munkáját i180.pas adjuk közre.
Statisztika:
10 dolgozat érkezett. 10 pontot kapott: Földes Imre, Szabó 313 Gábor, Véges Márton. 9 pontot kapott: Adrián Patrik, Molnár Gábor, Pap 987 Dávid. 4 pontot kapott: 2 versenyző. 3 pontot kapott: 1 versenyző. 1 pontot kapott: 1 versenyző.
A KöMaL 2008. februári informatika feladatai