Laiko ribojimas: 1s
Atminties ribojimas: 64MB
Senamiestis
Gabrielius nusipirko naują dviratį ir nusprendė jį išmėginti. Akivaizdu, kad geriausias būdas išbandyti dviratį yra su juo pasivažinėti. Pasivažinėjimui Gabrielius išsirinko Vilniaus senamiesčio gatves. Kaip turbūt žinote, senamiestyje galima rasti labai daug vienpusio eismo gatvių, t.y. tokių gatvių, kuriomis galima važiuoti tik viena kryptimi. Šiandien viskas yra dar įdomiau - įsigaliojo naujas įstatymas, kuris visas gatves padarė vienpusio eismo. Taip pat, buvo užtikrinta, kad gatvės nesudarys ciklų (t.y. iškeliavus iš tam tikro miesto, į jį grįžti tampa nebeįmanoma).
Formaliai, Vilniaus senamiestį sudaro sankryžų, kurios tarpusavyje sujungtos vienpusių kelių. Kiekvieną kelią apibūdina trys skaičiai , reiškiantys, kad keliu galima važiuoti iš sankryžos į sankryžą (bet ne atvirkščiai), o to kelio ilgis yra . Sankryžos yra sunumeruotos nuo iki .
Vienoje savaitgalinėje tam tikro dalyko mokykloje Gabrielius jau mokėsi apie trumpiausio kelio paieškas, tačiau norint išbandyti dviratį juk reikėtų pavažinėti kuo ilgiau! Taigi, Gabrielius, žinodamas Vilniaus senamiesčio gatvių išplanavimą bei sankryžą, nuo kurios pradės kelionę, nori surasti patį ilgiausią kelią, prasidedantį jo sankryžoje ir besibaigiantį kažkurioje kitoje sankryžoje. Deja, šis uždavinys pasirodė ne toks paprastas, kaip buvo galima pamanyti. Pabandykite jį išspręsti ir jūs!
Pradiniai duomenys
Pirmoje eilutėje pateikti trys sveikieji skaičiai , ir - atitinkamai sankryžų ir kelių kiekiai bei sankryža, kurioje bus pradėta kelion ().
Toliau seka eilučių. -ojoje iš jų pateikti trys skaičiai , ir , apibūdinantys -ąjį kelią (). Galite tarti, kad nėra kelių, prasidedančių ir pasibaigiančių toje pačioje sankryžoje. Taip pat, keliai tikrai nesudarys ciklų.
Rezultatai
Jūsų programa turi išvesti vieną sveikąjį skaičių - ilgiausią įmanomą kelią, jei kelionė pradedama sankryžoje .
Pavyzdžiai
Pradiniai duomenys | Rezultatai |
---|---|
3 3 1 1 2 1 2 3 1 1 3 1 |
2 |
3 3 2 1 2 1 2 3 1 1 3 1 |
1 |
3 3 3 1 2 1 2 3 1 1 3 1 |
0 |
9 10 2 1 2 100 2 3 1 2 4 2 3 5 1 4 5 8 5 6 5 6 7 1 6 8 5 7 9 14 8 9 5 |
30 |
Paaiškinimai
Pirmieji trys pavyzdžiai aprašo tokį sankryžų ir kelių išsidėstymą:
Pirmajame teste Gabrielius pradės sankryžoje , tad ilgiausio kelio, prasidedančio čia, ilgis yra (pats kelias yra 1 -> 2 -> 3).
Antrajame teste Gabrielius pradeda sankryžoje, tad iš ten tėra vienas galimas kelias, kurio ilgis .
Trečiajame teste Gabrielius pradeda sankryžoje, iš kurios neišeina nė vienas kelias, tad dviračio išbandyti nepavyks.
Ketvirtasis testas atrodo taip (pilkai paryškinta pradinė sankryža, o mėlynai - ilgiausias kelias):