Feladat: I/S.27 Korcsoport: - Nehézségi fok: -
Füzet: 2018/május, 295 - 296. oldal  PDF  |  MathML 
Témakör(ök): Nehezebb feladat, Programozás, algoritmusok

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.

Egy ország N városa között autóbuszjáratok közlekednek, melyeknek ismerjük a menetrendjét. A városokat pozitív egész számokkal jelöljük. Az 1-es városból szeretnénk eljutni az N-es városba autóbuszok segítségével. Minden járat két város között közlekedik, az egyes járatok azonos időközönként követik egymást. Tudjuk minden járatról a napi első indulási időpontot és a járat menetidejét. A járatok utolsó indulási ideje 20:00, később már nem indulnak autóbuszok. Az alábbi példa első járata az 1-es várostól a 4-es városig közlekedik, az út 80 percig tart, az első járat 7:00-kor indul (a nap 420. percében), majd minden következő 200 perccel az előző után, és így az utolsó 17:00-kor.
Átszálláskor legkorábban a megérkezés után legalább 10 perccel később induló buszokat érjük el biztonságosan. Minden városban van szálloda, így nem jelent gondot valamelyikben megszállni éjszakára. Számítsuk ki, hogy legkevesebb hány percig tart eljutni az induló városból a cél városba, illetve adjuk meg, hogy mely városokat érintünk egy ilyen utazás során. Ha több megoldás is lehetséges, akkor elég egyet megadni. A menetrend csak az eljutás szempontjából fontos járatokat tartalmazza, nem az összes járatot, de az 1-es városból biztosan el lehet jutni buszokkal az N-es városba.
A program a standard bemenet első sorából olvassa be a városok N számát, majd a következő N sorból a járatok induló és cél városát, a menetidőt, a nap első járatának indulási idejét 0:00-tól számítva, illetve az egymást követő buszok indulása közötti eltérés idejét percben. A program írja a standard kimenet első sorába a legrövidebb eljutás idejét percben, majd a következő sorba az egy ilyen időtartamú út során érintett városokat sorrendben.
Példa:

 
Bemenet (a /  sortörést jelöl):Kimenet7 / 1 4 80 420 200 / 1 3 125 380 240 / 4 2 220 340 90   400   2 5 110 360 65 / 2 3 70 320 80 / 3 6 180 510 180   1 3 5 7   3 5 60 430 95 / 5 6 40 420 60 / 6 7 100 390 120   5 7 160 440 180
 

Korlátok: 4N100, a menetidők nem hosszabbak 10 óránál.
Értékelés: a megoldás lényegét leíró dokumentáció 1 pontot ér. További 9 pont kapható arra a programra, amely a korlátoknak megfelelő bemenetekre helyes kimenetet ad 1 másodperc futásidő alatt. Részpontszám kapható arra a programra, amely csak kisebb N értékek esetén ad helyes eredményt 1 másodpercen belül.
Beküldendő egy is27.zip tömörített állományban a megoldást leíró dokumentáció és a program forráskódja.