https://www.acmicpc.net/problem/11724
import sys
input = sys.stdin.readline
sys.setrecursionlimit(10**9)
n, m = map(int,input().split())
link = [[] for _ in range(n+1)]
for _ in range(m):
a, b = map(int,input().split())
link[a].append(b)
link[b].append(a)
ans = 0
def dfs(start):
visited[start] = 1
for nxt in link[start]:
if not visited[nxt]:
dfs(nxt)
visited = [0] * (n + 1)
for i in range(1,n+1):
if not visited[i]: # 방문하지 않은 노드에서만 dfs 시작
dfs(i)
ans += 1 # 연결 요소 하나 발견
print(ans)
'백준' 카테고리의 다른 글
백준 10026. 적록색약 (0) | 2025.01.29 |
---|---|
10971. 외판원 순회 2 (0) | 2025.01.28 |
백준 4179. 불! (0) | 2025.01.26 |
백준 1726. 로봇 (0) | 2025.01.26 |
백준 1260. DFS와 BFS (0) | 2025.01.25 |