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