Loading [MathJax]/jax/output/HTML-CSS/jax.js
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. 346. feladat (2014. április)

I. 346. Egy N×N-es (4N50) tábla cellái üres vagy színes négyzetek az I. 343. feladatban leírtakhoz hasonlóan. A táblát függőlegesre állítva a színes négyzetek a legalacsonyabb üres helyig egymásra vagy az előre behelyezett és rögzített akadályig csúsznak a gravitáció miatt. Háromféle (piros, kék és zöld színű) négyzet lehetséges, amelyeket P, K és Z betűk jelölnek. Az üres cellát a . karakter, a rögzített helyű akadályokat az A betű jelöli. A táblát szegély veszi körbe, ami megakadályozza, hogy a színes négyzetek kiessenek.

A táblát csak jobbra lehet forgatni. A forgatás hatására a színes négyzetek újra a legalacsonyabb szabad cellába csúsznak, de egymásról nem esnek le. A rögzített akadályok és a forgatás keverő hatását vizsgáljuk.

Számoljuk meg induláskor és forgatás után, hogy hány olyan színes négyzet van a táblában, amelynek egynél több vele azonos színű szomszédja van. Szomszéd cellákon most négyet értünk, az ábrának megfelelően.

Készítsünk programot i346 néven, amely a tábla forgatását, a színek keverését szimulálja.

A program első parancssori argumentuma a táblát leíró adatállomány neve legyen. A fájl első sora N (4N50) a tábla méretét és K (1K100) a forgatások számát adja meg. Az ezt követő N sor a tábla indulás előtti cellánkénti tartalmát adja meg.

A parancssor második argumentumaként megadott kimeneti állomány első sorában forgatásonként az olyan színes négyzetek számát írjuk ki szóközzel elválasztva, amelyeknek egynél több velük azonos színű szomszédjuk van. Az ezt követő N sorban a legutolsó forgatás utáni tábla tartalmát adjuk meg soronként.

Beküldendő a program forráskódja (i346.pas, i346.cpp, ...) és rövid dokumentációja (i346.txt, i346.pdf, ...), amely tartalmazza a megoldás rövid leírását, és megadja, hogy a forrásállomány melyik fejlesztői környezetben fordítható.

(10 pont)

A beküldési határidő 2014. május 12-én LEJÁRT.


A kimeneti fájl első sorába a forgatások számánál eggyel több számot ír a program. Az első szám a kezdeti állapotot mutatja. Sajnos egy kis elírás történt a lapban és a minta bemenetre ez az első érték nem 5 a kimenetben, hanem 6.

Tesztállományok: tesztbe.zip teszteredmenyek.ki

Minta megoldás:

Paulovics Zoltán 11. osztályos tanuló (Zrínyi Miklós Gimnázium, Zalaegerszeg) megoldása: i346.vb


Statisztika:

12 dolgozat érkezett.
10 pontot kapott:Csernák Tamás, Fényes Balázs, Kovács 246 Benedek, Kovács Balázs Marcell, Paulovics Zoltán, Radnai Bálint, Uzonyi 000 Ákos.
8 pontot kapott:2 versenyző.
5 pontot kapott:2 versenyző.
Nem versenyszerű:1 dolgozat.

A KöMaL 2014. áprilisi informatika feladatai