30 maggio 2024 - esercizio 1 #104
Unanswered
Elia-Belli
asked this question in
Esercitazioni 1
Replies: 3 comments
-
Ripercorrendo il vettore dei padri a partire da un qualsiasi nodo possiamo calcolare se tra i suoi antenati c'è
def sotto_albero(P,u):
Vis = [-1]*n
Vis[u] = 1
for v in P:
if(Vis[v] == -1):
visita(P,v,Vis)
T_u = []
for v in Vis:
if(Vis[v] == 1): T_u.append(v)
return T_u
def visita(P,v,Vis):
if(Vis[P[v]] != -1):
Vis[v] = Vis[P[v]]
return Vis[v]
r = 0
if(P[v] != v):
r = visita(P,P[v],Vis)
Vis[v] = r
return r |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Beta Was this translation helpful? Give feedback.
All reactions