Cod sursa(job #3368074)

Utilizator mitoceanuci@gmail.comMitoceanu Ciprian [email protected] Data 13 octombrie 2026 10:42:16
Problema Parcurgere DFS - componente conexe Scor 100
Compilator py Status done
Runda Arhiva educationala Marime 1 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
    stiva = [nod]
    while stiva:
        nod = stiva.pop()
        for vecin in graf[nod]:
            if not vizitat[vecin]:
                vizitat[vecin] = True
                stiva.append(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")