Programozó versenyek

Magas szintű programozási nyelvek 2, 2018. január 2., K15 ZH

2018. január 2. 15:00 – 2018. január 2. 16:50

Intercityk (C#)

Írjon programot, amely a standard bemenet első sorából egy pozitív egész számot (n-et) olvas be! A bemenet következő n sora egy-egy belföldi intercity járat főbb adatait írja le: a járatszámot (egy azonosító szerepű pozitív egész szám), a járat egyedi nevét (sztring), a kiinduló állomását (sztring) és a célállomását (sztring). Ezeket az adatokat egy-egy pontosvessző karakter választja el egymástól a sorokban.

A bemenet további sorai állományvégjelig (EOF-ig) az egyes járatok útvonaladatait írják le (nem feltétlenül olyan szépen rendezett sorban, ahogyan a példa bemenetben olvasható). A sorokban a járatszám, a kiinduló állomástól való távolság (nemnegatív egész szám), az érintett állomás neve (sztring) és az állomás elérésének az ideje (óra és perc HH24.MM alakban, a percek esetében vezető 0-kkal) olvasható, az adatokat itt is egy-egy pontosvessző karakter választja el egymástól.

A programjának az összes állomás menetrendjét el kell készítenie, az állomások neve szerint ábécérendben (lexikografikusan növekvő sorrendben), a példa kimenetben látható formában. Minden állomásnál időpontok szerint növekvő sorrendben fel kell sorolnia az adott állomáson keresztülhaladó, illetve az onnan induló és oda érkező vonatokat. A kimenet soraiban tüntesse fel, hogy ezek a vonatok mikor érintik az adott állomást, illetve hogy mi az állomást érintő járat neve és célállomása! Ha egy időpontban több vonat is érintene egy állomást, akkor őket a járatok neve alapján rakja ábécérendbe (lexikografikusan növekvő sorba)!

Példa bemenet

  1. 2
  2. 1652;Pava IC;Budapest-Nyugati;Nyiregyhaza
  3. 617;Hajdu IC;Nyiregyhaza;Budapest-Nyugati
  4. 1652;0;Budapest-Nyugati;8.23
  5. 1652;5;Zuglo;8.29
  6. 1652;11;Kobanya-Kispest;8.37
  7. 1652;18;Ferihegy;8.43
  8. 1652;73;Cegled;9.18
  9. 1652;100;Szolnok;9.38
  10. 1652;177;Puspokladany;10.21
  11. 1652;201;Hajduszoboszlo;10.41
  12. 1652;221;Debrecen;11.02
  13. 1652;270;Nyiregyhaza;11.34
  14. 617;0;Nyiregyhaza;9.21
  15. 617;49;Debrecen;9.53
  16. 617;69;Hajduszoboszlo;10.11
  17. 617;93;Puspokladany;10.31
  18. 617;170;Szolnok;11.22
  19. 617;197;Cegled;11.43
  20. 617;252;Ferihegy;12.15
  21. 617;259;Kobanya-Kispest;12.21
  22. 617;265;Zuglo;12.29
  23. 617;270;Budapest-Nyugati;12.37
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. Budapest-Nyugati:
  2. 8.23: Pava IC (Nyiregyhaza)
  3. 12.37: Hajdu IC (Budapest-Nyugati)
  4. Cegled:
  5. 9.18: Pava IC (Nyiregyhaza)
  6. 11.43: Hajdu IC (Budapest-Nyugati)
  7. Debrecen:
  8. 9.53: Hajdu IC (Budapest-Nyugati)
  9. 11.02: Pava IC (Nyiregyhaza)
  10. Ferihegy:
  11. 8.43: Pava IC (Nyiregyhaza)
  12. 12.15: Hajdu IC (Budapest-Nyugati)
  13. Hajduszoboszlo:
  14. 10.11: Hajdu IC (Budapest-Nyugati)
  15. 10.41: Pava IC (Nyiregyhaza)
  16. Kobanya-Kispest:
  17. 8.37: Pava IC (Nyiregyhaza)
  18. 12.21: Hajdu IC (Budapest-Nyugati)
  19. Nyiregyhaza:
  20. 9.21: Hajdu IC (Budapest-Nyugati)
  21. 11.34: Pava IC (Nyiregyhaza)
  22. Puspokladany:
  23. 10.21: Pava IC (Nyiregyhaza)
  24. 10.31: Hajdu IC (Budapest-Nyugati)
  25. Szolnok:
  26. 9.38: Pava IC (Nyiregyhaza)
  27. 11.22: Hajdu IC (Budapest-Nyugati)
  28. Zuglo:
  29. 8.29: Pava IC (Nyiregyhaza)
  30. 12.29: Hajdu IC (Budapest-Nyugati)
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.