Az I. 241. feladat (2010. május) |
I. 241. Telefonos vetélkedőkben gyakran előfordul, hogy a játékosoknak egy betűtáblában kell megkeresnie egy vagy több karaktersorozatot. A szabályok egyszerűek: egy szó egymást követő karakterterei élükkel szomszédosak a táblában, valamint egy adott cellában található karaktert nem szabad egy szón belül többször felhasználni.
A megoldást adó programnak a parancssor első argumentumaként megadott nevű állományban található karaktertáblázatban kell a keresést végrehajtani. Az állomány első sora a táblázat méretét (sor, oszlop) tartalmazza szóközzel elválasztva, a további sorok pedig a karaktereket, egymástól egy-egy szóközzel elválasztva. A sorok és oszlopok száma legfeljebb 10, a karakterek az angol ábécé kisbetűi.
A keresendő szavak listája a parancssor második argumentumaként megadott nevű állományban található. Az első sorban a karaktersorozatok száma, a továbbiakban pedig soronként egy-egy, legfeljebb 30 karakter hosszú karaktersorozat helyezkedik el. A szavak száma legfeljebb 20, minden karaktersorozat az angol ábécé kisbetűiből áll.
A programnak a parancssor harmadik argumentumaként megadott nevű állományt kell előállítania. A fájlba a szólista állományban foglaltak sorrendjében kell kiírni a karaktersorozatot, majd alá a hozzá tartozó tábla tartalmát. A táblában a megtalált karaktersorozatot csupa nagybetűvel kell megjeleníteni. Ha több helyen is megtalálható a karaktersorozat, akkor azok közül pontosan egyet kell megadni, mindegy, hogy melyiket. Az egyes megoldásokat pontosan egy üres sor válassza el.
Beküldendő a feladat megoldását tartalmazó forrás és projektállományok (az .exe és más a fordító által generált kiegészítő állományok nélkül), valamint a megoldás menetét röviden bemutató dokumentáció (i241.txt, i241.pdf, ...) egy tömörített mappában (i241.zip).
Egyszerű minta a fájlokra:
tablazat.txt
5 7
z v c a e l c
a a s c y x d
k k a l c l l
d o m a t e k
l w a q w l w
szavak.txt
2
matek
komal
eredmeny.txt
matek
z v c a e l c
a a s c y x d
k k a l c l l
d o M A T E K
l w a q w l w
komal
z v c a e l c
a a s c y x d
k K A L c l l
d O M a t e k
l w a q w l w
(10 pont)
A beküldési határidő 2010. június 10-én LEJÁRT.
A feladat alapjában véve nem tűnt nehéznek - a kitűző oldaláról nézve.
A megoldók többsége egyszerű visszalépéses algoritmust használt, de a megvalósításba mindenkinél csúszott egy-két hiba.
A következő teszteseteket használtuk.
Statisztika:
5 dolgozat érkezett. 8 pontot kapott: 3 versenyző. 2 pontot kapott: 1 versenyző. 1 pontot kapott: 1 versenyző.
A KöMaL 2010. májusi informatika feladatai