hwangJi-dev/swiftAlgorithm

[Algorithm] 연결 요소의 개수

Closed this issue · 0 comments

https://www.acmicpc.net/problem/11724

import sys 
sys.setrecursionlimit(10000)
input = sys.stdin.readline

N, M = list(map(int, input().split()))
A = [[] for _ in range(N+1)]
visited = [False] * (N + 1)

for _ in range(M):
    u, v = list(map(int, input().split()))
    A[u].append(v)
    A[v].append(u)

def dfs(v):
    visited[v] = True

    for i in A[v]:
        if not visited[i]:
            dfs(i)

count = 0

for i in range(1, N + 1):
    if not visited[i]:
        dfs(i)
        count += 1

print(count)