동캄의 코딩도장

백준 11724 [연결 요소의 개수] 파이썬 본문

코테/BOJ

백준 11724 [연결 요소의 개수] 파이썬

동 캄 2022. 2. 8. 10:46
import sys
sys.setrecursionlimit(10**6)
input = sys.stdin.readline


def dfs(v):
    visit[v] = 0
    for node in link[v]:
        if visit[node] == 1:
            dfs(node)


N, M = map(int, input().split())
link = [[] for _ in range(N+1)]
visit = [1]*(N+1)
answer = 0
for _ in range(M):
    a, b = map(int, input().split())
    link[b].append(a)
    link[a].append(b)


for i in range(1, N+1):
    if visit[i] == 1:
        dfs(i)
        answer += 1


print(answer)

처음에는 이전에 풀었던 1260번 [BFS와 DFS] 문제와 완전 동일한 문제라고 생각하였다. 하지만, 이 문제는 혼자 동 떨어져있는 노드 또한 개수로 생각해야하는 문제였다.