Programozó versenyek

Programozási nyelvek 2, 2020. november 23., H18 ZH

2020. november 23. 18:05 – 2020. november 23. 19:45

Légtornászverseny

A légtornászversenyek pontozási rendszere igen bonyolult. A zsűri figyelembe veszi a versenyzők által bemutatott elemek számát és nehézségét, az előadás stílusát és a zenével való összhangját, ugyanakkor a hibákért pontlevonás is jár.

Írjon programot, amely a standard bemenetről állományvégjelig (EOF-ig) egy légtornászverseny fellépőinek az adatait és eredményeit olvassa be, soronként egyet-egyet! Egy sor felépítése a következő:

név;eszköz;bemutatott_elemek_száma;szerzett_pont;hibapont

A név a versenyző nevét tartalmazó sztring, az eszköz a légtornaszernek – amelyen a versenyző a versenyszámát bemutatta – a nevét leíró sztring, a bemutatott_elemek_száma, a szerzett_pont és a hibapont egy-egy nemnegatív egész szám.

A programja rendezze a versenyzők neveit kétféle szempont szerint, és írja ki azokat a standard kimenetre a példa kimenetben megadott formában!

Az első rendezés a versenyzők által elért összpontszám (a szerzett pont és a hibapont különbsége) szerinti csökkenő sorrendben történjen! Ha két vagy több versenyző is azonos összpontszámmal rendelkezne, akkor őket hibapont szerint növekvő sorrendben írja a standard kimenetre! Amennyiben ez alapján sem lehetne különbséget tenni kettő vagy több versenyző között, akkor lexikografikusan növekvő sorrendben jelenítse meg a neveket a kimeneten!

Másodjára a versenyzőket csoportosítsa az általuk használt eszközök szerint, s az eszközök megnevezése alapján lexikografikusan növekvő sorrendben írja ki őket a standard kimenetre! Ha valamelyik eszközzel többen is mutatnak be gyakorlatot, akkor ezeknek a versenyzőknek a nevét az összpontszámuk szerint csökkenő sorrendben nyomtassa ki! Ha mindezek alapján sem tudna különbséget tenni két vagy több versenyző között, akkor őket szerzett pontjaik alapján rendezze csökkenő sorrendbe, és ha még ez sem elég, akkor a neveket lexikografikusan csökkenő sorrendben írassa ki!

A két rendezett névsort pontosan egy üres sor válassza el egymástól!

Példa bemenet

  1. Fruzsina;silk;12;20;1
  2. Viktoria;silk;10;18;3
  3. Norbert;karika;14;20;1
  4. Bettina;hammock;12;20;0
  5. Erika;karika;10;17;1
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. Bettina
  2. Fruzsina
  3. Norbert
  4. Erika
  5. Viktoria
  6. Bettina
  7. Norbert
  8. Erika
  9. Fruzsina
  10. Viktoria
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.