Oktatás * Programozás 2 * Szkriptnyelvek * levelezősök Félévek Linkek * kalendárium |
Py3 /
20180307cAoC2017, Day 5, Part 1 (Maze Runner) A CPU egy olyan programot futtat, amiben csak ugróutasítások vannak (jump instructions). A kérdés az, hogy hány ugrást kell végrehajtania a CPU-nak, mire sikerül befejeznie a programot. A futtatandó program csak eltolási (offset) értékeket tartalmaz. Ezek relatív értékek, s az ugrások számára utalnak. Pl. a Az ugrások egy kicsit speciálisak. Minden ugrás után az aktuális offset értéke 1-gyel megnő. Például ha az offset értéke 3, akkor hármat előre lépünk, és az offset értékét 3-ról 4-re állítjuk. Tekintsük pl. az alábbi offset értékek listáját: 0 3 0 1 -3 A pozitív értékek hatására lefelé mozgunk ("előre"), a negatív értékek hatására pedig felfelé ("vissza"). Az egyszerűség kedvéért a listát vízszintesen fogjuk ábrázolni, s az aktuális offset pozíciót zárójelbe tesszük. A program futása a következőképpen néz ki, mielőtt egy kiugrás hatására leállna:
Ebben a példában 5 lépés kellett ahhoz, hogy befejeződjön a program. Kérdés: az input állományban található program hány lépés után fejeződik be? A feladat bemenete innen tölthető le. A feladat eredeti kiírása itt olvasható el. |
Blogjaim, hobbi projektjeim * The Ubuntu Incident [ edit ] |