Cod sursa(job #3368072)

Utilizator mitoceanuci@gmail.comMitoceanu Ciprian [email protected] Data 13 octombrie 2026 10:38:52
Problema Parcurgere DFS - componente conexe Scor 95
Compilator py Status done
Runda Arhiva educationala Marime 0.88 kb
import sys
sys.setrecursionlimit(200000)

def citireDate():
    with open("dfs.in") as f:
        date = f.read().split()

        n = int(date[0])
        m = int(date[1])

        graf = [[] for i in range (n + 1)]

        indexCurent =  2
        for i in range(m):
            x = int(date[indexCurent])
            y = int(date[indexCurent + 1])

            graf[x].append(y)
            graf[y].append(x)

            indexCurent += 2
    return n, m, graf


def dfs(nod):
    vizitat[nod] = True
    for vecin in graf[nod]:
        if not vizitat[vecin]:
            dfs(vecin)


n, m, graf = citireDate()
vizitat = [False] * (n + 1)

numar_componente = 0 

for nod in range(1, n + 1):
        if not vizitat[nod]:
             dfs(nod)
             numar_componente += 1

with open("dfs.out", "w") as f:
     f.write(str(numar_componente)+"\n")