Programozó versenyek

Programozási nyelvek 2, 2020. november 24., K14 ZH

2020. november 24. 14:05 – 2020. november 24. 15:45

Sakkverseny

A sakkjáték egyidős az emberiséggel. Már az ősember is készített feljegyzéseket a játszmáiról barlangja falára, bár azokból a vésetekből ember legyen a talpán, aki rekonstruálni tudja az egyes partikat! Nyugodjon meg, öntől sem ezt várjuk ebben a feladatban.

Írjon programot, amely a standard bemenetről állományvégjelig (EOF-ig) sakkjátszmák adatait olvassa be! Egy-egy sor szerkezete a következő:

világos_neve#sötét_neve#világos_pontja#sötét_pontja

A világos_neve és a sötét_neve két sztring, amelyek a játékosok nevét írják le, segítségükkel egyértelműen beazonosíthatók a sakkjátékosok. A világos_pontja és a sötét_pontja a következő három sztring valamelyike: „0”, „1/2” vagy „1”. Ezek sorrendben a játszma elvesztésére, döntetlen eredményre, illetve a játszma megnyerésére utalnak, értékük rendre a nekik megfelelő racionális szám, összegük egy játszmában mindig pontosan 1.

A programja számolja össze, hogy melyik sakkjátékos hány pontot gyűjtött a felsorolt játszmákban, majd írja a standard kimenetre az összegyűjtött pontszámok csökkenő sorrendjében a sakkjátékosok neveit a példa kimenetben megadott formában! Ha több játékos is azonos számú pontot gyűjtött volna, akkor ezeknek a játékosoknak a neveit lexikografikusan növekvő sorrendben sorolja fel!

Példa bemenet

  1. Garri Kaszparov#Polgar Judit#1/2#1/2
  2. Anatolij Karpov#Garri Kaszparov#1/2#1/2
  3. Nigel Short#Garri Kaszparov#0#1
  4. Polgar Judit#Nigel Short#1#0
  5. Magnus Carlsen#Polgar Judit#1#0
  6. Garri Kaszparov#Magnus Carlsen#0#1
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. 2: Garri Kaszparov, Magnus Carlsen
  2. 1 1/2: Polgar Judit
  3. 1/2: Anatolij Karpov
  4. 0: Nigel Short
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.