
BACKJOON>11742번: 연결요소의 개수
📘 문제풀이
from collections import deque
import sys
n, m = map(int, sys.stdin.readline().split())
graph = [[] for _ in range(n+1)]
visited = [False] * (n+1)
for i in range(m):
a, b = map(int, sys.stdin.readline().split())
graph[a].append(b)
graph[b].append(a)
def bfs(start):
q = deque()
q.append(start)
visited[start] = True
while q:
v = q.popleft()
for i in graph[v]:
if visited[i] == False:
q.append(i)
visited[i] = True
cnt = 0
for i in range(1, n+1):
if visited[i] == False:
bfs(i)
cnt += 1
print(cnt)
input()보다 sys를 사용해야 시간초과가 나지 않는다.