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 S. 25. feladat (2007. március)

S. 25. Egy lakberendezési szaküzletben ,,L'' alakú csempéket lehet vásárolni. Minden csempe egy kanyar elemből, legalább egy, de legfeljebb három egyenes elemből, és két lezáró elemből épül fel. Az alábbi táblázat első oszlopa az ,,L'' betűk egyenes elemeit; második két oszlopa a kanyar elemeit, utolsó két oszlopa a betű két végére kerülő lezáró elemeket, és azok ASCII kódját tartalmazza:

Készítsünk programot, amely a parancssorban bekéri egy téglalap két oldalának mérőszámát (például 4×2-es téglalap esetén s25.exe 4 2), majd elkészíti a téglalap csempével való teljes kitöltésének egy olyan tervrajzát, amelynél a lehető legkevesebb csempét kell felvágni. A program az eredmény csempézés egyes elemeit soronként, szóközzel elválasztva a fenti karakterekkel, majd a nekik megfelelő számokkal a szöveges képernyőre írja. Az előző 4×2-es példa kimenete:

További példaként: egy lehetséges csempe:

Egy 2×5-ös téglalap kitöltése (egyetlen csempe vágása nélkül):

Egy 6×6-os téglalap kitöltése (szintén vágás nélkül):

Beküldendő a program forráskódja (s25.pas, s25.cpp, ...), valamint rövid dokumentációja (s25.txt, s25.pdf).

(10 pont)

A beküldési határidő 2007. április 16-án LEJÁRT.


Ez a feladat kicsit nehézre sikeredett. Arra bátorítanék mindenkit, hogy ilyen esetekben részfeladatok megvalósítását küldje be, pár pontot így is el lehet csípni.

Lássuk Györök Péter12. évf. Táncsics Mihály Gimnázium, Kaposvár megoldását: (Viszonylag kevés Delphi megoldás érkezik, ezért is szerettem volna ezt kiemelni)

Az előállítás során alapesetekből indulunk ki. 1 sor esetén nem készíthetünk egész csempét. 2 sor esetén az 1, 2, 3 és 7 szélesség kivételével mindegyik kirakható két csempéből álló blokkokból. 3 sornál az első két sort a 2 sor alapesetével rakjuk ki, kivéve a 7*3-ast, amelyben a 7. oszlopba még egy csempe belefér, amelynek a lelógó része a 3. sorban helyezkedik el. 4 vagy több sornál tulajdonképpen külön 2 soros alapeseteket kell kitölteni. A balszerencsés 7 oszlop esetén az utolsó két oszlopot függőlegesen töltjük ki, mivel a páros hosszú sor kirakható. Az 5*5 és 5*7 kitöltésére egyedi mintákat használunk. A többi páratlan esetben egy sort töredékesen hagyunk az alján, a maradékot pedig páros alapesettel töltjük ki.

Ha a magasság nagyobb a szélességnél, akkor tükrözéssel állítjuk elő. Szintén tükrözünk, ha a magasság páros, de a szélesség páratlan. s25.dpr


Statisztika:

3 dolgozat érkezett.
10 pontot kapott:Györök Péter, Kezes Balázs, Ócsvári Ádám.

A KöMaL 2007. márciusi informatika feladatai