Az I. 559. feladat (2022. március) |
I. 559. Egy számítógépes játékban két háromfős csapat játszik egymással. A játékosok a korábbi játszmák eredményei alapján pontszámokkal rendelkeznek, melyeket a győzelmeik és vereségeik alapján számít ki a játékprogram. A kapott pontok minden esetben pozitív egész számok.
A számítógépes játékban egy játszmába hat játékos jelentkezik be. Kezdetben az első három bejelentkező játékos az első, a másik három pedig a második csapatba kerül. A program igyekszik a pontszámok alapján egyenlő erősségű csapatokat létrehozni. A csapatok erősségét a játékosok pontszámának összegével adjuk meg. A csapatok elosztását úgy végzi a program, hogy legföljebb egy játékost az egyik csapatból kicserél egy másik játékosra a másik csapatból. A játszmában a 6 játékos úgy alkot két csapatot, hogy legföljebb egy ilyen cserével a két csapat erőssége a lehető legkevésbé térjen el egymástól.
Készítsünk programot, amely a 6 játékos pontszáma alapján megad egy elosztást. Ha több ilyen elosztás lehetséges, akkor bármelyik megadható.
A bemenet egyetlen sorában a játékosok pontszáma szerepel egy-egy szóközzel elválasztva. Az \(\displaystyle i\)-edik szám az \(\displaystyle i\)-edik játékos pontszáma.
A kimenet egyetlen sorában a csapatok elosztása szerepel: az első három szám az egyik csapat, míg a második három szám a második csapat tagjait jelenti. Amennyiben nem szükséges cserélni, akkor az 1 2 3 4 5 6 számsorozatot kell kiírni szóközzel elválasztva. Ha történt csere, akkor a megfelelő helyen lévő sorszámokat kell cserélni.
Bemenet | Kimenet |
125 68 93 77 83 119 | 6 2 3 4 5 1 |
Magyarázat: az 1. játékost cseréltük a 6. játékosra. Így a 6., a 2. és a 3. játékos alkotja az egyik csapatot, melynek erőssége \(\displaystyle 119+68+93=280\), valamint a 4., 5. és 1. játékos alkotja a másik csapatot, melynek erőssége \(\displaystyle 77+83+125=285\).
Beküldendő egy i559.zip tömörített állományban a forrásprogram és egy rövid dokumentáció, amely megadja, hogy a program melyik fejlesztői környezetben futtatható.
(10 pont)
A beküldési határidő 2022. április 19-én LEJÁRT.
Mintamegoldásként Gyönki Dominik egri versenyző C++ nyelven készült megoldását (i559.cpp), valamint Simon Tamás kiskunfélegyházi tanuló Python nyelvű munkáját (i559st.py) adjuk közre.
Statisztika:
9 dolgozat érkezett. 10 pontot kapott: Gyönki Dominik, Kohut Márk Balázs, Nagy 292 Korina, Simon Tamás, Zádor-Nagy Zsombor. 8 pontot kapott: 1 versenyző. 7 pontot kapott: 1 versenyző. 6 pontot kapott: 1 versenyző. 5 pontot kapott: 1 versenyző.
A KöMaL 2022. márciusi informatika feladatai