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. 490. feladat (2019. október)

I. 490. Az udvaron \(\displaystyle N\) diák (\(\displaystyle 5\le N\le 35\)) kieséses játékot játszik. A játék elején mindenki választ magának egy pozitív egész számot (mindenki különbözőt). A játék körökből áll, a köröket játék közben számolják, a játék a legelső körrel indul. Egy-egy kör végére néhány játékos kieshet, így ők a következő körökben már nem játszanak. A játék akkor ér véget, amikor két egymást követő körben nem esik ki egyetlen játékos sem. Ekkor a bennmaradók a játék győztesei.

A játék egy-egy körében a következőket teszik a játékosok:

1. számuk szerint növekvő sorrendbe állnak külön-külön a páros és a páratlan számmal rendelkezők;

2. a két sort összefésülik úgy, hogy egy új sor keletkezzen:

\(\displaystyle a)\) a páratlan sorszámú körökben az első (legkisebb) páratlan számú diák kerül az új sor elejére (ha van ilyen diák);

\(\displaystyle b)\) a páros sorszámú körökben az első (legkisebb) páros számú diák kerül az új sor elejére (ha van ilyen játékos);

\(\displaystyle c)\) a többiek felváltva csatlakoznak az egyik és a másik sorból, amíg mindkét sor elég hosszú;

\(\displaystyle d)\) majd a hosszabb sorból jönnek egymás után a megmaradt játékosok;

3. ezután minden olyan játékos kiesik, akinek a száma ebben az új sorban kisebb a mellette álló mindkét játékos számánál (a sorban most első és utolsó játékos tehát nem eshet ki).

Készítsünk programot, amely megadja, hogy egy adott játék hányadik körben ér véget, és kik a győztesei.

A standard bemenet első sorában a játszók \(\displaystyle N\) száma, második sorában a játékosok által választott \(\displaystyle N\) darab szám szerepel. A standard kimenet első sorába írjuk ki a körök számát, második sorába a győztes versenyzők számát növekvő sorrendben.

Példa:

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

(10 pont)

A beküldési határidő 2019. november 11-én LEJÁRT.


Mintamegoldásként közreadjuk

- Bagladi Milán Zsolt 9. osztályos, Nagykanizsai versenyző C++ nyelven készült munkáját ( i490.cpp);

- Ender Rozina Júlia 9. osztályos, Budapesti diák Python megoldását (i490.py);

- Endrész Balázs 12. évfolyamos, Pápai tanuló C# nyelvű megoldását (i490.cs).


Statisztika:

13 dolgozat érkezett.
10 pontot kapott:Bagladi Milán Zsolt, Ender Rozina Júlia, Endrész Balázs, Kaltenecker Balázs Bence, Mályusz Etre Magnusz, Mócsy Mátyás, Nagy 793 Márton, Papp Marcell Miklós, Ürmössy Dorottya.
5 pontot kapott:2 versenyző.
2 pontot kapott:1 versenyző.
Nem számítjuk a versenybe a születési dátum vagy a szülői nyilatkozat hiánya miatt:1 dolgozat.

A KöMaL 2019. októberi informatika feladatai