|
||||||||||||||||||||
Asztalok
Pétertől egy vendéglős barátja, Pál kér segítséget. A vendéglő webes szoftvere meghibásodott, sajnos olyan foglalások is a rendszerbe kerültek melyeket lehetetlen eljesíteni. A holnapi foglalási lista alapján kellene kiválogatni azokat a foglalásokat, melyek nem teljesíthetők. Tudni kell a vendéglőről, hogy darab asztal van benne, egyenként hellyel. A foglalás a következőképpen történt (amíg a rendszer működött): a leendő vendég egy számhármast adott meg melyet a rendszer ideiglenesen elfogadott. Az számok az érkezési és távozási idők a pedig az, hogy a vendég hanyadmagával fog érkezni. A foglalások listája éjfélkor zárolta. Majd amíg a lista ki nem ürül a következő lépéseket ismétli: kiveszi a listából a legkorábbi érkezési időponttal rendelkező foglalást, ha több ilyen is van akkor a listában hamarabb szereplőt. Ha ezen foglalásnak megfelelő számú vendég nem ültethető le, akkor elutasítja a rendelést (és egy e-mail-t küld a kliensnek), ha viszont van elegendő hely akkor leülteti őket. Fontos megjegyezni, hogy a foglalás során minimális számú asztalt rendelünk a csoportokhoz, azaz ha és akkor asztal lesz lefoglalva, hiába van több elérhető is - illetve, az asztaloknál csak egy csoport tagjai ülhetnek. Példa: legyen
A 3. foglalás elutasítva helyhiány miatt. Az 1. foglalás rendben van. A 2. foglalás elfogadva, hiszen érkezésükkor 2 asztal üres. A 4. foglalás helyhiány miatt elutasítva. Az 5. rendben. Összesen 2 foglalást kell elutasítani. Segítsünk Péternek megírni a programot, mely adott foglalási listához kiszámolja az elutasítandó foglalások számát!Bemenet specifikációAz első sorban a számok vannak szóközzel elválasztva. A következő sor egy-egy foglalást ír le: alakban, ahol a szóközzel elválasztott számok: az érkezés, távozás () és létszám. Kimenet specifikációAz elutasítandó foglalások száma. Korlátok
1. példa bemenet
1. példa kimenet
2. példa bemenet
2. példa kimenet
3. példa bemenet
3. példa kimenet
|
||||||||||||||||||||
Debreceni Egyetem, Informatikai Kar, v. 2024.09.30. |