Sistemul poştal este alcătuit din poşta centrală şi din sucursale. Acest sistem este reprezentat ca un arbore, având nodurile etichetate cu , aşezate pe nivele, în rădăcină fiind poşta centrală, iar în celelalte noduri sucursalele. Astfel putem vorbi, prin analogie cu noţiunile din teoria grafurilor, despre poştă rădăcină, respectiv poştă fiu. Coletele poştale sunt identificate prin coduri numerice. La un moment dat în poşta centrală şi în fiecare sucursală se află câte un singur colet. Sistemul de expediere al coletelor se realizează cu un singur tip de operaţii: coletul aflat în poşta rădăcină este expediat, locul lui fiind luat de coletul care are codul de valoare maximă aflat în una dintre poştele fii; astfel în poşta fiu, locul coletului expediat va fi luat de coletul care are codul de valoare maximă aflat în poştele fii şi aşa mai departe, până se ajunge la o poştă fără posibilitate de a prelua un colet.
Pentru a putea trimite un colet important cu prioripost poşta va folosi acelaşi tip de operaţii, însă poate schimba codul anumitor colete, inclusiv al coletului important, pentru a reduce numărul de operaţii prin care acesta va ajunge la poşta centrală în vederea difuzării.
Cerință
Determinaţi numărul minim de colete ale căror coduri trebuiesc schimbate favorabil, astfel încât coletul din nodul etichetat cu să ajungă în poşta centrală, după un număr minim de operaţii.
Date de intrare
Pe prima linie a fişierului posta.in
se afla două numere naturale şi , numărul de noduri ale arborelui asociat sistemului poştal, respectiv eticheta asociată poştei. Pe următoarele linii este descris arborele sistemului poştal, fiecare linie conţinând două numere naturale şi , însemnând că poşta este poştă fiu al lui . Pe linia se află numere naturale, a -a dintre aceste valori reprezentând codul coletului din poşta aflată în nodul .
Date de ieșire
Fisierul posta.out
va conţine o singură valoare, şi anume numărul minim de coduri schimbate.
Restricții și precizări
- Codurile iniţiale sunt două câte două distincte.
- Codurile se pot schimba in orice altă valoare.
- Arborele nu este neapărat binar.
- Iniţial codurile sunt numere naturale cu maxim cifre.
Exemplu
posta.in
7 7
1 2
1 3
2 4
2 5
3 6
5 7
5 6 4 3 8 9 2
posta.out
1
Explicație
Datele de intrare corespund primei figuri din exemplul de mai sus. Dacă schimbăm codul coletului de la poşta din în , numărul de operaţii va fi minim.