tunel

Time limit: 0.07s Memory limit: 32MB Input: tunel.in Output: tunel.out

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 NN tuneluri interconectate (etichetate cu numerele distincte de la 11 la NN. Toate tunelurile au aceeași lungime, sunt formate din MM elemente unitare identice (numerotate cu numerele distincte de la 11 la MM) ș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 11, jucăria este formată din 44 tuneluri, fiecare tunel fiind format din 99 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 NN, atunci Tommy iese din acest tunel cu recompensă, chiar dacă ar exista un pasaj ce conectează acest ultim element la ultimul element din tunelul N1N - 1 (vezi Figura 2.b);
  • dacă ajunge în ultimul element unitar al tunelului etichetat cu N1N - 1 și există un pasaj care conectează acest element cu ultimul element unitar al tunelului etichetat cu NN, 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 N1N - 1 fără recompensă;
  • dacă ajunge în ultimul element unitar al unui tunel cu eticheta mai mică decât N1N - 1, 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 N,MșiXN, M și X, iar apoi determină:

  • eticheta tunelului prin care iese Tommy dacă intră în tunelul cu eticheta XX respectând regulile jocului;
  • numărul LL 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 CC reprezentând cerința din problemă care trebuie rezolvată 11 sau 22.

A doua linie a fișierului conține cele trei numere naturale N,MșiXN, M și X, separate prin câte un spațiu, cu semnificația din enunț. Următoarele N1N - 1 linii descriu pasajele dintre tuneluri. Prima linie dintre cele N1N - 1 indică pasajele dintre tunelurile etichetate cu 11 și 22, următoarea linie indică pasajele dintre tunelurile etichetate cu 22 și 33, \dots, ultima dintre cele N1N - 1 linii indică pasajele dintre tunelurile etichetate cu N1N - 1 și NN.

Primul număr din fiecare astfel de linie reprezintă numărul PP de pasaje, iar următoarele PP numere distincte, scrise în ordine crescătoare, reprezintă pozițiile elementelor unitare (dintre cele două tuneluri) conectate prin cele PP pasaje.

Date de ieșire

Dacă C=1C = 1, fișierul tunel.out va conține pe prima linie un număr natural reprezentând răspunsul la cerința 11.

Dacă C=2C = 2, fișierul tunel.out va conține pe prima linie numărul natural LL reprezentând răspunsul la cerința 22.

Restricții și precizări

  • 3N1 0003 \leq N \leq 1 \ 000;
  • 4M20 0004 \leq M \leq 20 \ 000;
  • 1PM21 \leq P \leq M−2;
  • Pot exista cel mult 150 000150 \ 000 pasaje care interconectează tunelurile.
  • Pot exista pasaje învecinate care să conecteze elementele unitare din două tuneluri alăturate (vezi Figura 11) în care tunelurile 11 și 22 sunt interconectate prin pasajele învecinate dintre elementele 66, respectiv 77).
  • Primul element unitar din fiecare tunel nu este conectat la niciun pasaj.
  • Ultimul element unitar din tunelurile etichetate cu 1,2,,N21, 2, \dots, N - 2 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 NN.
  • Pentru cerința 11 se acordă 4040 de puncte. iar pentru cerința 22 se acordă 6060 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 11. N=4N = 4, M=9M = 9, X=4X = 4.

Tommy, intra prin tunelul etichetat cu X=4X = 4 și iese prin tunelul etichetat cu 11 (vezi Figura 22.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 22. N=4,M=9,X=4N = 4, M = 9, X = 4. Figurile 22.a, 22.b, 22.c, 22.d conțin trecerea lui Tommy prin tunele pentru fiecare din cele patru intrări. Doar 22 dintre aceste treceri îl duc pe Tommy la recompensă (vezi Figura 22.a și Figura 22.b). Dacă Tommy intră prin tunelul 22 atunci el ajunge la recompensă trecând prin numărul minim L=17=min(17,19)L = 17 = min(17,19) elemente unitare.

Log in or sign up to be able to send submissions!