Programozó versenyek

Programozási nyelvek 2, 2018. december 6., Cs8 ZH

2018. december 6. 8:05 – 2018. december 6. 9:50

Mindent a helyére!

A Mikulásnak december 6-án igencsak sok a dolga. Hajnalok hajnalán útra kell, hogy ajándékot vigyen a gyerekeknek, akik jól viselkedtek az év folyamán. De elgondolkodott-e már valaki azon, hogy honnan tudja azt a Mikulás, hogy az egyes ajándékokat hová kell vinnie a nagy napon? Nos, az az igazság, hogy ennek meghatározása nem is olyan egyszerű feladat a számára. Nem úgy, mint önnek, aki tudja, hogy milyen adatokból dolgozik a Mikulás!

A gyerekeknek szánt ajándékok listájának a sorai a következőképpen néznek ki:

gyerek_neve;utcanév;házszám;ajándék[,ajándék]…

A gyerek_neve, az utcanév és az ajándék sztringek, a házszám egy pozitív egész szám. Ha egy megadott címen több jó gyereknek is visz ajándékot a Mikulás, akkor az adott utcanév és házszám többször is megjelenik a listában, pontosan annyiszor, ahány jó gyerek az adott címen lakik. A sor pontosan három darab pontosvessző karaktert tartalmaz, vessző karakter pedig nem szerepel az ajándékok megnevezéseiben.

Az ön feladata egy olyan program megírása, amely a standard bemenet soraiból beolvassa a fent megadott formában érkező adatokat, és a standard kimenetre írja a példa kimenetben megadott formában azt, hogy az egyes ajándékokat hová, milyen címekre kell kiszállítania a Mikulásnak. A programja az ajándékok nevének lexikografikusan növekvő sorrendjében jelenítse meg az információkat a kimeneten! Ha egy ajándékot több címre is ki kell szállítania a Mikulásnak, akkor ezek a címek az utcanevek ábécérendjében, illetve névazonosság esetén a házszámok növekvő sorrendjében jelenjenek meg a standard kimeneten! Ügyeljen rá, hogy ha egy ajándékot több gyereknek is ugyanarra a címre kell kiszállítani, akkor ez a cím ne jelenjen meg egynél többször a felsorolásban!

Példa bemenet

  1. Petike;Vag utca;9;dio,alma,mogyoro
  2. Petracska;Vag utca;10;banan,narancs
  3. Pistike;Vag utca;9;alma,mogyoro,narancs
  4. Lilianna;Szotyori utca;30;mogyoro,banan
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. alma:
  2. Vag utca 9.
  3. banan:
  4. Szotyori utca 30.
  5. Vag utca 10.
  6. dio:
  7. Vag utca 9.
  8. mogyoro:
  9. Szotyori utca 30.
  10. Vag utca 9.
  11. narancs:
  12. Vag utca 9.
  13. Vag utca 10.
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.