Programozó versenyek

DEIK Regionális Programozó Csapatverseny, középiskolai kategória, 2019. december 8.

2019. december 8. 10:15 – 2019. december 8. 15:15

Code Air

A legtöbb légitársaság ma már dinamikusan határozza meg a repülőjegyek árát. Az, hogy pontosan mennyit is kell fizetnünk egy útért, függhet a vásárlás időpontjától, a kiszemelt járat töltöttségétől, de a kért ülőhelytől is.

A Code Air légitársaság többféle típusú repülőgépet üzemeltet, azonban minden gépükön pontosan hat ülés található egy sorban. Változó viszont az, hogy milyen hosszú egy gép (azaz hány sor ülés fér el a kabinban), illetve az is, hogy hol helyezkednek el a nagyobb lábteret nyújtó, vészkijárati ülések. A sorokat a gép elejétől indulva számozzák, az oszlopokat pedig A-tól F-ig.

Sajnos a légitársaság informatikusai éppen sztrájkolnak, ezért téged kértek meg arra, hogy implementáld az értékesítésért felelős algoritmust.

A bemenet specifikációja

A bemenet első sora négy pozitív egész számot tartalmaz:

  • a jegyek B alapárát,
  • a jegyek drágulásának D összegét (minden jegy pontosan D-vel kerül többe, mint az előző),
  • az ablak mellé szóló helyek (A és F oszlop) W felárát,
  • valamint a nagy lábterű (vészkijárati) sorokba szóló helyek L felárát.

A második sorban két pozitív egész szám szerepel: az ülések sorainak R, valamint a nagy lábterű, vészkijárati sorok E száma. A harmadik sort E darab pozitív egész szám alkotja, melyek a vészkijárati sorok sorszámai. A kimenet további sorai állományvégjelig (EOF-ig) egy-egy foglalás során kiválasztott ülés azonosítóját tartalmazzák SO formátumban, ahol S egy érvényes sor sorszáma, míg O a kiválasztott oszlop érvényes betűjele. A beolvasott és a számított értékek mindegyike eltárolható egy előjeles 32 bites egész számként.

A kimenet specifikációja

A kimenet első sora a jegyek értékesítéséből származó bevételt tartalmazza. Ezt pontosan annyi sor követi, ahány foglalás készült. Utóbbi sorok ülés: összeg formátumúak, ahol az ülés a foglalt ülőhely kódja, míg az összeg az utas által fizetendő díj.

Példa bemenet

  1. 20000 700 2000 5000
  2. 35 4
  3. 1 2 17 18
  4. 23A
  5. 35B
  6. 1A
  7. 1C
  8. 5E
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. 121000
  2. 23A: 22000
  3. 35B: 20700
  4. 1A: 28400
  5. 1C: 27100
  6. 5E: 22800
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.