Középiskolai Matematikai és Fizikai Lapok
Informatika rovattal
Kiadja a MATFUND Alapítvány
Már regisztráltál?
Új vendég vagy?

Az S. 36. feladat (2008. május)

S. 36. Egy ország városait vasútvonalak kötik össze az alábbiak szerint:

-az állomásokon kívül mindenhol csak egy vágány van, a vonatok csak az állomásokon tudják kikerülni, vagy megelőzni egymást;

-a vasútvonalak csak az állomásokon találkoznak, máshol nem keresztezik egymást;

-a vasúthálózat összefüggő, azaz bármely városból bármely másik városba vezet vasútvonal vagy közvetlenül, vagy más városok érintésével;

-a vonatok mindegyike ugyanazzal a sebességgel halad bármely vasútvonalon.

Készítsünk programot, amely az ország vasúthálózata és a vonatok jelenlegi helyzete ismeretében menetrendet készít, azaz megadja, hogy mely vonatok mikor és merre haladjanak, hogy eljussanak a célállomásukra úgy, hogy az utolsóként beérkező vonat beérkezési ideje a lehető legkisebb legyen.

Az ország vasúthálózatát egy szöveges állományban adjuk meg, amelynek minden sorában két város betűjele és a városok közötti útvonal megtételéhez szükséges idő szerepel szóközzel elválasztva. Legföljebb 25 város van, az angol ABC nagybetűivel jelölve. Bármely két város közötti menetidő kisebb, mint 100 perc. A vonatok helyzetét szintén egy szövegfájlban adjuk meg, melynek soraiban elsőként annak az állomásnak a betűjele szerepel, ahol a vonat áll; a sor további betűi mind egy-egy vonatot jelölnek, melyek a betűikkel jelzett városokba szeretnének eljutni. A betűk között itt is egy szóköz az elválasztás.

A program feladata annak megadása, hogy az egyes városokból mikor és melyik útvonalon indítsuk el a vonatokat. A menetrendet egy szöveges kimeneti állományba írja a program, melynek egyes soraiban a vonat indításának perce, a vonat induló és célállomása egybe írva, valamint annak a két városnak a betűjele szerepeljen szintén egybe írva, amelyek között a vonat majd halad. A kiinduló állapotot tekintjük az időmérés kezdetének. A program írja egy másik szöveges kimeneti állományba a vonatok érkezésének idejét és az induló és célállomásuk betűjelét egybe írva. A kimeneti állományok egyes sorai legyenek az időpontok szerint növekvő sorrendben. A program négy parancssori paramétere közül az első a vasúthálózatot, a második a vonatokat tartalmazó bemeneti állományok nevei, míg a harmadik és negyedik a menetrendet és az érkezést megadó kimeneti állományok nevei.

Beküldendő a program forráskódja (s36.pas, s36.cpp, ...), valamint a program rövid dokumentációja (s36.txt, s36.pdf, ...), amely tartalmazza a megoldás vázlatos leírását, és megadja, hogy a forrásállomány melyik fejlesztő környezetben fordítható.

(10 pont)

A beküldési határidő 2008. június 16-án LEJÁRT.


Statisztika:

1 dolgozat érkezett.
4 pontot kapott:1 versenyző.

A KöMaL 2008. májusi informatika feladatai