Feladat: I.478 Korcsoport: - Nehézségi fok: -
Füzet: 2019/március, 164 - 165. oldal  PDF  |  MathML 

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

Gyerekkoromban nagymamám padlásán egy furcsa szerkezetet találtam: egy hosszú csövet, amelyhez különböző helyeken ugyanolyan átmérőjű, de különböző hosszúságú csövek csatlakoztak. Senki nem tudta megmondani, hogy mire való, de így is feltaláltuk magunkat, az éppen beleillő labdákat dobáltuk bele a szomszéd gyerekekkel. Azt néztük, hogy milyen sorrendben esnek ki a különböző színű labdák a hosszú cső végén.

 
 

A fenti eszköz ihlette ezt a feladatot, de a labdáknak nem a színe a lényeges, hanem az, hogy milyen betűt írunk rá és azt vizsgáljuk, hogy az adott időpontokban bedobott labdák milyen szöveget adnak ki a végén. Az egyszerűség kedvéért a csövek hossza egész szám és a központi csőhöz az alsó végtől egész számnyira csatlakoznak. A központi csőhöz egy ponton csak egy cső csatlakozik. A labdák a csőben egységnyi idő alatt egységnyi utat tesznek meg. A központi csőben haladó labdának elsőbbsége van, azaz az oldalról érkező csak akkor mehet tovább, ha nem akadályozza magasabbról érkező labda. Készítsünk programot, amely a csőrendszer adatainak és a betűk csövekbe kerülési idejének ismeretében megadja a kialakuló feliratot.
A program standard bemenetének első sorában a csatlakozó csövek C száma és a golyók G száma található. A következő C sorban az egyes csövek hossza és a központi csőhöz való csatlakozási pontja (az alsó végétől mért távolság) szerepel, egymástól egy szóközzel elválasztva. Az ezt követő G sorban az angol ábécé egy betűje, a cső sorszáma és a bedobás időpontja (egész szám) található egy-egy szóközzel elválasztva. A kimenet egyetlen sora G darab karaktert tartalmaz: a betűket a megérkezés sorrendjében. A bemenetben a számértékek egyike sem nagyobb 1000-nél.
 
Példa bemenet  (a /  jel sortörést helyettesít)Példa kimenet   3 5 / 2 2 / 4 4 / 1 7KOMAL   M 2 3 / K 3 3 / L 1 7 / O 3 4 / A 2 4
 

Beküldendő egy i478.zip tömörített állományban a program forráskódja és a működéséhez szükséges egyéb fájlok, továbbá a hozzá kapcsolódó dokumentáció. Utóbbi a problémamegoldás lényeges elemeire világít rá, valamint tartalmazza, hogy a forrásállomány melyik fejlesztő környezetben fordítható.