Az I. 235. feladat (2010. március) |
I. 235. Egy bonyolult, útvesztőszerű pincerendszer felmérését kell elvégeznünk. Az alaprajz téglalap alakú; és átjárható, valamint fal mezőkből épül fel. (Csak az éllel való érintkezés számít a mezőknél.) Az átjárható mező 1 egység oldalhosszúságú négyzet.
A pincerendszernek több ajtaja van és elzárt részei is lehetségesek. Előfordulhat olyan terület, amely az egyik ajtón belépve elérhető, de másikon keresztül nem. Az alaprajz minden oldalán legalább egy egység fal van.
Készítsünk programot, amely meghatározza, hogy mekkora területű az útvesztő bejárható része. Határozzuk meg, hogy a bejárható pincerendszernek milyen hosszú összesen a fala és hány ajtaja van.
A program parancssori argumentuma legyen a pincerendszert leíró adatállomány neve. A fájl első sorában szóközzel elválasztva N (3N1000) a sorok száma, valamint M (3M1000) az oszlopok száma szerepel, és az ezt követő N sorban az alaprajz található. Minden fal mezőt ,,F'', minden átjárható mezőt ,, '' (szóköz) ír le.
A program írja ki a standard kimenetre a bejárható rész alapterületét, a falak hosszát és ajtók számát.
Beküldendő egy tömörített i235.zip állományban a program forráskódja (i235.pas, i235.cpp, ...), valamint a program dokumentációja (i235.txt, i235.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ő 2010. április 12-én LEJÁRT.
Megoldásokról
A feladatra tíz megoldás érkezett. Ezek közül öt teljesen jó, vagy pici pontatlanságot tartalmazott.
A többi program sajnos alapvető hiányosságokat tartalmaz, még a közölt mintabemenetekre is téves megoldást ad. Az útvesztő bejárhatóságának vizsgálatakor fontos volt észrevenni, hogy az nem feltétlenül összefüggő és lehetnek zárt területek. A bejárható pincerendszernek a fal hossza ettől függ. Az ajtók számának meghatározása egyetlen buktatót tartalmazott. Azt, hogy az ajtók a pince sarkában is lehetnek.
A feladat, szokásos módon azt kérte, hogy a program parancssori argumentuma legyen a pincerendszert leíró adatállomány neve. Ezt, az egy utasítással megoldható beállítást, többen végezték el.
Teszt állományok: utveszto1.txt utveszto2.txt utveszto3.txt utveszto4.txt
Mintamegoldás Nagy Miklós (Győr, Révai Miklós Gimnázium) 11. osztályos tanuló megoldását közöljük: i235.pas
Statisztika:
10 dolgozat érkezett. 10 pontot kapott: Balla Attila, Horváth 135 Loránd, Nagy 111 Miklós. 9 pontot kapott: Barta 111 János, Janosov Milán. 8 pontot kapott: 2 versenyző. 4 pontot kapott: 1 versenyző. 3 pontot kapott: 1 versenyző. 2 pontot kapott: 1 versenyző.
A KöMaL 2010. márciusi informatika feladatai