posta

Time limit: 0.05s Memory limit: 128MB Input: posta.in Output: posta.out

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 1,2,,N1, 2, \dots, N, 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 XX 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 NN şi XX, numărul de noduri ale arborelui asociat sistemului poştal, respectiv eticheta asociată poştei. Pe următoarele N1N-1 linii este descris arborele sistemului poştal, fiecare linie conţinând două numere naturale aa şi bb, însemnând că poşta bb este poştă fiu al lui aa. Pe linia N+1N+1 se află nn numere naturale, a ii-a dintre aceste valori reprezentând codul coletului din poşta aflată în nodul ii.

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

  • 1N3 0001 \leq N \leq 3 \ 000
  • 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 99 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 77 din 22 în 1010, numărul de operaţii va fi minim.

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