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. 541. feladat (2021. szeptember)

I. 541. Andi és Bandi egy \(\displaystyle 2N\) (\(\displaystyle 1\le N\le 100\)) mezőből álló szalagon játszanak. A szalag mezői 1-től \(\displaystyle 2N\)-ig sorszámozottak, a Start pozíció az 1-es mező előtt van. Kezdetben mindkettőjük bábuja a Start helyen áll. Andi és Bandi felváltva dobnak egy szabályos dobókockával és lépnek. A játék elején megállapodnak egy \(\displaystyle k\) (\(\displaystyle 1\le k\le 100\)) egész számban, ami a játék során mindkettőjük lépéseit befolyásolja.

Andi és Bandi felváltva lépnek egyet-egyet. Andi dob, előre megy a dobás számának megfelelő lépést, és ha most \(\displaystyle k\)-val osztható sorszámú mezőn áll, akkor automatikusan a következő \(\displaystyle k\)-val osztható mezőre ugrik. Ezzel befejezte a lépését, átadja a kockát Bandinak. Bandi egészen addig dob, amíg a dobott szám osztója \(\displaystyle k\)-nak vagy osztható \(\displaystyle k\)-val. Minden dobása után a dobott számnak megfelelő számot megy előre. Ha olyan számot dob, ami nem osztható \(\displaystyle k\)-val és nem is osztója \(\displaystyle k\)-nak, akkor a dobott számnak megfelelő mezőt előre megy és ezzel lépése befejeződött. Átadja a kockát Andinak, ő jön. A játék addig tart, amíg az egyik játékos túl nem lép az \(\displaystyle N\)-edik mezőn.

Andi és Bandi sokat játsszák a játékot, de így sem tudják megmondani, hogy milyen \(\displaystyle N\) és \(\displaystyle k\) mellett melyik játékosnak van nagyobb esélye nyerni. Készítsünk programot, ami segít ebben, és megadja, hogy ismert \(\displaystyle N\) és \(\displaystyle k\) esetén melyik játékosnak átlagosan hány lépésből áll túlmenni az \(\displaystyle N\)-edik mezőn. A program \(\displaystyle 10\,000\) játékmenet alapján számítsa ki az átlagos lépésszámot.

A program a standard bemenet első sorából olvassa ki \(\displaystyle N\) és \(\displaystyle k\) értékét, majd a kimenet egyetlen sorába adja meg egészre kerekítve Andi és Bandi átlagos lépéseinek számát.

Minta bemenetMinta kimenet
10 53 2

Beküldendő egy tömörített i541.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ő 2021. október 15-én LEJÁRT.


A feladat szövegéből - sajnos - két értelmezés is következett: a) a játék szimulációja szerint kell megadni a lépések átlagos számát - vagyis ekkor számolni kell, hogy Andi hány lépést tett a győzelmeinél, illetve Bandi hány lépést tett a győzelmeinél. Nem számítanak a lépéseik akkor, amikor nem ők léptek túl az N-edik mezőn.

b) nem a játékot szimuláljuk, csak egy-egy játékos mozgását a N hosszú pályán. Ebben az esetben a két játékos egymástól függetlenül játszik, és természetesen mindig túljut az N-edik mezőn.

A két megoldás Python nyelven: i541szimul.py, i541kulon.py


Statisztika:

12 dolgozat érkezett.
10 pontot kapott:Gyönki Dominik, Kohut Márk Balázs, Kovács Alex, Nagy 292 Korina, Simon Tamás.
9 pontot kapott:Vadász Levente Márton, Zádor-Nagy Zsombor.
8 pontot kapott:3 versenyző.
7 pontot kapott:1 versenyző.

A KöMaL 2021. szeptemberi informatika feladatai