Cod sursa(job #3335437)

Utilizator h4rap-a1bMihail Cosor h4rap-a1b Data 22 ianuarie 2026 17:52:17
Problema Parcurgere DFS - componente conexe Scor 100
Compilator py Status done
Runda Arhiva educationala Marime 0.79 kb
def dfs(start, graph, visited):
    stack = [start]
    visited[start] = True
    
    while stack:
        node = stack.pop()
        for neighbour in graph[node]:
            if not visited[neighbour]:
                visited[neighbour] = True
                stack.append(neighbour)


def main():
    fin = open('dfs.in', 'r')
    fout = open('dfs.out', 'w')

    n, m = map(int, fin.readline().split())
    graph = [[] for _ in range(n+1)]

    for _ in range(m):
        u, v = map(int, fin.readline().split())
        graph[u].append(v)
        graph[v].append(u)
    
    visited = [False] * (n+1)
    count = 0
    for node in range(1, n+1):
        if not visited[node]:
            dfs(node, graph, visited)
            count += 1

    fout.write(str(count))

    fin.close()
    fout.close()

main()