Programozó versenyek

Magas szintű programozási nyelvek 2, 2016. december 20., K18 ZH

2016. december 20. 18:15 – 2016. december 20. 19:55

Kéktúra (C#)

Írjon programot, amely nyilvántartást készít a kéktúrázókról, a hazánk leghosszabb összefüggő, körmentes turistaútvonalát (27 szakaszban összesen 1160 km) bejáró kirándulókról! Az egyes kirándulók adatai az első parancssori argumentumban megadott nevű szöveges állományban vannak leírva a következő formában:

turista_neve:szakasz_egyik_végeszakasz_másik_vége:szakasz_hossza

A sorban található sztringek mindegyike tetszőleges karaktereket tartalmazhat a pontosvessző és a kötőjel karakterek kivételével, e két karakter kizárólag a többi sztring elválasztására szolgál. A szakaszokat a két végük jellemzi, ezek sorrendje azonban tetszőlegesen felcserélhető, a Bódvaszilas–Putnok szakasz például megegyezik a Putnok–Bódvaszilas szakasszal. A szakasz_hossza minden esetben egy egész szám, a szakasz hosszát adja meg kilométerekben számolva. A turistákat a nevük azonosítja. Ha az állományban több olyan sor is van, amely azonos névvel kezdődik, akkor azok a sorok ugyanahhoz a turistához tartoznak.

A program gyűjtse össze azokat a turistákat, és írja a standard kimenetre a nevüket lexikografikusan növekvő sorba rendezve, soronként egyet-egyet, akik a kéktúra útvonalának egy összefüggő részét teljesítették (és nem több különálló, egymással nem kapcsolódó részét)! A kéktúra egyetlen szakaszát önmagában összefüggőnek tekintjük. Több szakaszt akkor tekintünk összefüggőnek, ha egymás után illeszthetők oly módon, hogy két, egymást közvetlenül követő szakasz végpontjai közül az első szakasz valamelyik végpontja megegyezik a rákövetkező szakasz valamelyik végpontjával.

Példa állomány (sample.txt)

  1. Peter:Matrahaza-Sirok:22
  2. Nikolett:Nograd-Becske:60
  3. Aron:Sumeg-Sarvar:72
  4. Peter:Sirok-Szarvasko:20
  5. Gabor:Becske-Nograd:60
  6. Nikolett:Huvosvolgy-Piliscsaba:22
  7. Peter:Szarvasko-Putnok:62
  8. Gabor:Nagymaros-Nograd:40
  9. Nikolett:Sarvar-Sumeg:72
letöltés szöveges állományként

Parancssori argumentumok

  1. sample.txt
letöltés szöveges állományként

A futtatás eredménye a standard kimeneten

  1. Aron
  2. Gabor
  3. Peter
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.