Cod sursa(job #3253595)
| Utilizator | Data | 3 noiembrie 2024 17:44:39 | |
|---|---|---|---|
| Problema | Parcurgere DFS - componente conexe | Scor | 0 |
| Compilator | py | Status | done |
| Runda | Arhiva educationala | Marime | 0.52 kb |
def DFSNerecursivConex(graf,n,nod,vizitare):
stack=[]
stack.append(nod)
while len(stack)!=0:
nodcurent=stack[-1]
stack.pop()
if not vizitare[nodcurent]:
print(nodcurent)
vizitare[nodcurent]=True
if nodcurent in graf:
for noduri in graf[nodcurent]:
if not vizitare[noduri]:
stack.append(noduri)
def nrcompconexe(graf):
n=len(graf)+1
vizitare=[False for _ in range(n)]
nr=0
for i in range(1,n):
if not vizitare[i]:
nr+=1
DFSNerecursivConex(graf,n,i,vizitare)
print(nr)