Tommy este un motan alintat care adoră să se plimbe prin orice tunel. De aceea, stăpânii lui i-au construit o nouă jucărie, formată din tuneluri interconectate (etichetate cu numerele distincte de la la . Toate tunelurile au aceeași lungime, sunt formate din elemente unitare identice (numerotate cu numerele distincte de la la ) și au ieșiri la ambele capete. Conectarea dintre două tuneluri alăturate se face printr-un element unitar numit pasaj. În exemplul din Figura , jucăria este formată din tuneluri, fiecare tunel fiind format din elemente unitare.
Pentru a fi mai provocator, stăpânii motanului plasează în ultimul element unitar al ultimului tunel o recompensă.
Motan isteț, Tommy a învățat deja toate regulile jocului:
- poate intra prin capătul din stânga al oricărui tunel (prin elementul unitar 1);
- nu trece de multe ori prin același pasaj;
- dacă nu se află lângă un pasaj, continuă să meargă prin tunel către dreapta;
- dacă ajunge la un pasaj, atunci trece prin acesta în tunelul alăturat;
- dacă ajunge în ultimul element unitar al tunelului etichetat cu , atunci Tommy iese din acest tunel cu recompensă, chiar dacă ar exista un pasaj ce conectează acest ultim element la ultimul element din tunelul (vezi Figura 2.b);
- dacă ajunge în ultimul element unitar al tunelului etichetat cu și există un pasaj care conectează acest element cu ultimul element unitar al tunelului etichetat cu , atunci Tommy trece prin acest pasaj în ultimul element din ultimul tunel, ia recompensa și iese din tunel Figura 2.a). În cazul în care acest pasaj nu există, Tommy iese din tunelul fără recompensă;
- dacă ajunge în ultimul element unitar al unui tunel cu eticheta mai mică decât , atunci Tommy iese din tunel fără recompensă.
Ajutați-l pe Tommy să ajungă cât mai repede la recompensă respectând regulile jocului!
Cerință
Scrieţi un program care citește numerele naturale , iar apoi determină:
- eticheta tunelului prin care iese Tommy dacă intră în tunelul cu eticheta respectând regulile jocului;
- numărul de elemente unitare (ale tunelurilor și ale pasajelor) prin care Tommy ar trebui să treacă, respectând regulile jocului, pentru a ajunge la recompensă.
Date de intrare
Fișierul tunel.in
conține pe prima linie un număr natural reprezentând cerința din problemă care trebuie rezolvată sau .
A doua linie a fișierului conține cele trei numere naturale , separate prin câte un spațiu, cu semnificația din enunț. Următoarele linii descriu pasajele dintre tuneluri. Prima linie dintre cele indică pasajele dintre tunelurile etichetate cu și , următoarea linie indică pasajele dintre tunelurile etichetate cu și , , ultima dintre cele linii indică pasajele dintre tunelurile etichetate cu și .
Primul număr din fiecare astfel de linie reprezintă numărul de pasaje, iar următoarele numere distincte, scrise în ordine crescătoare, reprezintă pozițiile elementelor unitare (dintre cele două tuneluri) conectate prin cele pasaje.
Date de ieșire
Dacă , fișierul tunel.out
va conține pe prima linie un număr natural reprezentând răspunsul la cerința .
Dacă , fișierul tunel.out
va conține pe prima linie numărul natural reprezentând răspunsul la cerința .
Restricții și precizări
- ;
- ;
- ;
- Pot exista cel mult pasaje care interconectează tunelurile.
- Pot exista pasaje învecinate care să conecteze elementele unitare din două tuneluri alăturate (vezi Figura ) în care tunelurile și sunt interconectate prin pasajele învecinate dintre elementele , respectiv ).
- Primul element unitar din fiecare tunel nu este conectat la niciun pasaj.
- Ultimul element unitar din tunelurile etichetate cu nu este conectat la niciun pasaj.
- Oricare element unitar poate fi conectat la cel mult un pasaj.
- Oricare două tuneluri etichetate cu numere consecutive sunt interconectate prin cel puțin un pasaj.
- Pentru fiecare intrare într-un tunel există traseu către ieșire.
- Pentru fiecare test există cel puțin o intrare într-un tunel prin care Tommy poate ajunge la ieșirea cu recompensă din tunelul .
- Pentru cerința se acordă de puncte. iar pentru cerința se acordă de puncte.
Exemplul 1
tunel.in
1
4 9 4
3 2 4 6
2 3 5
3 4 6 9
tunel.out
1
Explicație
Se rezolvă cerința . , , .
Tommy, intra prin tunelul etichetat cu și iese prin tunelul etichetat cu (vezi Figura .d).
Exemplul 2
tunel.in
2
4 9 4
3 2 4 6
2 3 5
3 4 6 9
tunel.out
17
Explicație
Se rezolvă cerința . . Figurile .a, .b, .c, .d conțin trecerea lui Tommy prin tunele pentru fiecare din cele patru intrări. Doar dintre aceste treceri îl duc pe Tommy la recompensă (vezi Figura .a și Figura .b). Dacă Tommy intră prin tunelul atunci el ajunge la recompensă trecând prin numărul minim elemente unitare.