Programozó versenyek

Programozási nyelvek 2, 2020. december 29., K10 ZH

2020. december 29. 10:00 – 2020. december 29. 11:40

Kifogások

Füles már órák óta ül a patak partján, és bámulja a pajkosan fodrozódó hullámtaréjokat. Malacka és Micimackó a szeleburdi Tigrissel együtt kereste fel őt, és figyelték együtt, hogy mit csinál. Füles egy faághoz kötött horgot lógatott a patak vizébe, és próbálja vele elkapni azt a sok kisebb-nagyobb uszadékot, amelyet magával sodor a víz. Mindenből a legnagyobbat szeretné kifogni és hazavinni a patakból.

Füles arra is előre gondolt, hogy a sok kifogott uszadékot a nagy, 100 liter űrtartalmú hátizsákjában fogja majd hazavinni magával. Ebbe pakolássza tehát sorban a patakból kifogott holmikat.

Minden kifogott holmit igyekszik belerakni a hátizsákjába. Belerakni persze mindig csak akkor tud valamit a hátizsákba, ha van a holmi számára elegendő szabad hely. Ha a kifogott holmiból még nincs a hátizsákjában, és nincs is számára elegendő szabad hely, akkor bizony azt visszadobja a patakba. Ha viszont a kifogott holmiból már van a hátizsákjában, de kisebb, mint az éppen kifogott, akkor lecseréli a meglévőt a nagyobbra, de persze csak akkor, ha az belefér a kisebb helyett a hátizsákba.

Írjon programot, amely a standard bemenetről állományvégjelig (EOF-ig) a Füles által sorban kifogott uszadékok adatait olvassa be! A sorok alakja a következő:

uszadék:térfogat

Az uszadék egy (akár szóköz karaktereket is tartalmazó) sztring, a térfogat egy pozitív egész szám.

A programja írja a standard kimenetre az eseménysorozat végén a Füles hátizsákjában lévő holmik adatait a holmik térfogata alapján csökkenő sorba rendezve! Amennyiben több holmi is azonos térfogatú lenne Füles hátizsákjában, akkor őket a nevük alapján lexikografikusan növekvő sorrendben sorolja fel a példa kimenetben látható módon!

Példa bemenet

  1. almacsutka:10
  2. kenyerhej:50
  3. dinnyehej:60
  4. dinnyehej:20
  5. almacsutka:20
  6. kenyerhej:40
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. kenyerhej (50)
  2. almacsutka (20)
  3. dinnyehej (20)
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.