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. 286. feladat (2012. február)

I. 286. Az alábbi játékban adott egy 4 sorból és 8 oszlopból álló terület, amelyet 8 darab, különböző alakú elemmel kell kitölteni, az egyes elemeket pontosan egyszer felhasználva. Az itt látható ábra egy lehetséges kitöltést ad meg. (A rajzzal az egyes elemek alakját is megadjuk.)

Természetesen ezen elemeket többféleképpen is elhelyezhetjük úgy, hogy a rendelkezésre álló területet pontosan kitöltsék. Az elemeket 90o-os fordulatokkal forgathatjuk vagy meg is fordíthatjuk, tehát mindegyik elemnek 8 helyzete lehet.

A játék során nem pusztán az üres területet kell kitöltenünk, hanem megadjuk az egyes elemek színét és a terület néhány helyén megszabjuk, hogy oda milyen színű résznek kell kerülnie.

Írjunk programot, amely megadja a darabok egy lehetséges elhelyezésének módját. A program első parancssori argumentuma az elhelyezendő darabok színét és a terület bizonyos helyeinek színét tartalmazó fájl neve, a második parancssori argumentum pedig a megoldást tartalmazó fájl neve. A programot csak olyan bemenetekkel teszteljük, amelyeknél van megfelelő elhelyezés.

A bemeneti állomány első sorában a nyolc elem (a rajzon megadott számsorrendben) színét adja meg, egymástól szóközzel elválasztva. A színt egyetlen karakter jelöli. A következő 4 sor a területet adja meg, soronként 8--8 karakterrel, amelyeket egymástól egy szóköz választ el. Amennyiben egy hely színe kötött, ott a színt jelölő karakter van, egyébként a * szerepel.

A kimeneti állomány a kitöltött téglalapot írja le. Pontosan 4 sort tartalmaz, soronként 8, egymástól szóközzel határolt számmal. A számok az elem sorszámát adják.

Beküldendő egy tömörített i286.zip állományban a program forráskódja (i286.pas, i286.cpp, ...), valamint a program dokumentációja (i286.txt, i286.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ő 2012. március 12-én LEJÁRT.


Egy kivétellel minden beküldő programja helyes kimenetet rendelt minden bemeneti állományhoz. Leírásukban megadott módszer is egyezett, visszalépéses algoritmussal dolgoztak.

A tesztesetek között a mintaként megadott, a már kitöltött és az üres táblák mellett szerepelnek az eredeti játékleírásban szereplő feladványok is. (Ott az a nehezítés, hogy az elemek megadott pontja kell essen a színnel jelölt helyre.)

A tesztfájlok: i286teszt.zip


Statisztika:

7 dolgozat érkezett.
10 pontot kapott:Antal János Benjamin, Jákli Aida Karolina, Kovács Balázs Marcell, Kucsma Levente István, Szabó Levente, Varga 256 Erik.
0 pontot kapott:1 versenyző.

A KöMaL 2012. februári informatika feladatai