Programozó versenyek

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

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

Van egy kis csavar a történetben

Mekk Elek, az ezermester jártában-keltében mindenféle kacatot, limlomot összegyűjt magának, hátha jó hasznát veszi még egy későbbi munkája során. Kezdetben a 100 rekeszes szerszámosládája üres.

Amikor Mekk Eleknek felajánlanak valamit, akkor a standard bemenetre a következő alakú sort írják:

OFFER:áru:darab

Ekkor Mekk Elek megnézi, hogy van-e szabad hely a szerszámosládájában, s ha van, akkor annyit fogad el a felajánlott áruból, amennyi csak fér, szerszámosládájának szabad rekeszeibe egy-egy darab új árucikket rakva.

Ha egy

REQUEST:áru:darab

alakú sort írva a standard bemenetre Mekk Elektől kérnek valamilyen cuccot, akkor ő megpróbál annyit adni, amennyit kérnek. Ha a kértnél kevesebb darabszámú áll rendelkezésére az adott portékából, akkor mindet odaadja. Az átadott apróságok kikerülnek a szerszámosládájából, s így felszabadul az általuk eddig foglalt hely a szerszámosládában.

A bemeneten érkező sorokban az áru egy (akár szóköz karaktert is tartalmazó) sztring, míg a darab egy pozitív egész szám.

Írjon programot, amely végigolvassa a standard bemenetről a Mekk Elek felé tett felajánlásokat és kéréseket állományvégjelig (EOF-ig), közben nyilvántartja, hogy Mekk Eleknek egy adott pillanatban miféle árui vannak, melyikből mennyi darab! A bemeneti adatok beolvasása után a programja írja a standard kimenetre Mekk Elek szerszámosládájának a tartalmát a példa kimenetben látható formában! Ha több kacat is lenne a szerszámosládájában, akkor azokat a nevük szerint lexikografikusan növekvő sorrendben jelenítse meg a kimeneten!

Példa bemenet

  1. OFFER:kis csavar:110
  2. OFFER:csavarhuzo:1
  3. REQUEST:kis csavar:50
  4. OFFER:harapofogo:2
  5. REQUEST:harapofogo:1
  6. REQUEST:kis csavar:49
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. harapofogo: 1
  2. kis csavar: 1
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.