Cod sursa(job #3335536)

Utilizator alexandrucarloPascariu Alexandru Carlo alexandrucarlo Data 22 ianuarie 2026 21:04:26
Problema Parcurgere DFS - componente conexe Scor 0
Compilator py Status done
Runda Arhiva educationala Marime 0.65 kb
problema = "dfs"
f_in = problema + ".in"
f_out = problema + "dfs.out"

adiacenta = {}
vizitati = set()


def dfs(node):
    vizitati.add(node)
    for vecin in adiacenta[node]:
        if vecin not in vizitati:
            dfs(vecin)

with open(f_in, "r") as f:
    n, m = [int(x) for x in next(f).split()]
    for i in range(1,n+1):
        adiacenta[i] = []
    for l in f:
        x, y = [int(a) for a in l.split()]
        
        adiacenta[x].append(y)
        adiacenta[y].append(x)

nr_conexe = 0;
for n in adiacenta:
    if n not in vizitati:
        nr_conexe += 1
        dfs(n)


with(open(f_out, "r") as f:
     f.write(nr_conexe)
# print(nr_conexe)