Programarea pe mobil funcționează. Un laptop este mai rapid pentru sesiuni lungi.

Problema

Un arbore cu n noduri numerotate de la 1 la n este reprezentat prin vectorul de tați t, unde t[i] este tatăl nodului i, iar t[i] = 0 arată că nodul i este rădăcina arborelui.

Se citesc, în plus, două noduri x și y (nu neapărat distincte). Se cere să se afișeze strămoșul comun cel mai apropiat al nodurilor x și y, adică nodul de pe nivelul cel mai adânc care apare atât pe drumul de la x la rădăcină, cât și pe drumul de la y la rădăcină.

Convenție: un nod este propriul său strămoș. Dacă x = y, răspunsul este chiar x. Dacă x este strămoș pentru y, răspunsul este x.

Format Date de intrare

Date de intrare input.txt

Prima linie conține trei numere naturale `n`, `x` și `y`, separate prin câte un spațiu. A doua linie conține cele `n` valori ale vectorului de tați, separate prin câte un spațiu. - `1 <= n <= 100` - `1 <= x, y <= n` - vectorul descrie un arbore corect

Format Date de ieșire

Date de ieșire output.txt

Programul afișează pe ecran un singur număr natural, indicele strămoșului comun cel mai apropiat al nodurilor `x` și `y`.

Exemplu

intrare
7 1 6
2 4 4 0 4 5 5
rezultat
4

Ești gata să rezolvi această provocare?

Creează un cont gratuit pentru a scrie cod, a trimite soluții și a-ți urmări progresul.

⌨️ Scurtături de tastatură

Editor de cod
Rulează codul
Ctrl Enter
Trimite codul
Ctrl Shift Enter
Formatează codul
Shift Alt F
Comută comentariul
Ctrl /
Anulează
Ctrl Z
Refă
Ctrl Y
Navigare
Căutare globală
/
Afișează scurtăturile
?
Închide fereastra
Esc

🔍 Depanator interactiv

0 / 0

Se analizează codul tău...

📦 Variabile

Nicio variabilă încă

📚 Stivă de apeluri
main() linia 1
📤 Rezultat