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. 451. feladat (2018. március)

I. 451. Kukac-robot egy számsoron szeretne végighaladni, végigkúszni. A robot onnan kapta a nevét, hogy mozgása a kukacokéra emlékeztet. A kúszás két fázisból áll: először összehúzza magát úgy, hogy testének első része helyben marad a számsoron és a végét előre húzza, amíg csak lehet; majd másodszor fordítva, testének utolsó pontja marad egy helyben és előre kinyúlik, amíg a szabályok engedik.

Szabályok:

– Összehúzott állapotban a Kukac-robot alatt lévő számok összege legalább \(\displaystyle K\), és a lefedett számok száma kettőnél nem lehet kevesebb.

– Kinyújtott állapotban legfeljebb \(\displaystyle L\) lehet az alatta levő számok összege és nem nyúlhat öt számnál hosszabban.

– A Kukac-robot induló helyzete: az első két számon helyezkedik el összehúzott állapotban. (A kezdőállapotra a szabályokat nem kell vizsgálni.)

– Beérkezésnek számít az a kinyújtott állapot, amikor a számsor utolsó tagját lefedi.

Készítsünk programot i451 néven, amely meghatározza, hogy Kukac-robot végig tud-e menni a számsoron és ha igen, akkor legkevesebb hány lépésben.

A program standard bemenetének első sorában 3 szám van: \(\displaystyle N\) (\(\displaystyle 10\le N\le 10\,000\)) a számsor hossza, \(\displaystyle K\) (\(\displaystyle 2\le K\le 20\)) összehúzott állapotban a Kukac-robot alatti és \(\displaystyle L\) (\(\displaystyle K<L\le 45\)) a kinyújtott állapot alatti számok összege. Az ezt követő sorban a számsor tagjait adjuk meg szóközzel elválasztva, azaz \(\displaystyle N\) darab számot \(\displaystyle x_{i}\) (\(\displaystyle 0\le x_{i} \le 9)\).

A program írja ki a standard kimenetre, hogy legkevesebb hány megnyúlás alatt kúszik át a Kukac-robot a számsoron. Ha nem tud a számsoron végigkúszni, akkor a kimenet legyen -1.

Beküldendő egy tömörített i451.zip állományban a program forráskódja és rövid dokumentációja, amely megadja, hogy a forrásállomány melyik fejlesztői környezetben fordítható.

(10 pont)

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


Tesztállományok:

be1.txt

be2.txt

be3.txt


Statisztika:

11 dolgozat érkezett.
10 pontot kapott:Békési Péter, Horcsin Bálint, Szalay Bálint, Ürmössy Dorottya, Vígh Márton.
9 pontot kapott:Bálint Ádám, Katkó Dominik, Zsombó István.
8 pontot kapott:1 versenyző.
1 pontot kapott:1 versenyző.
0 pontot kapott:1 versenyző.

A KöMaL 2018. márciusi informatika feladatai