Algorithm/BOJ
[BOJ] 11724. 연결 요소의 개수 Python 풀이
짱다미
2023. 4. 14. 16:46
import sys
from collections import deque
n, m = map(int, sys.stdin.readline().split())
graph = [[] for _ in range(n + 1)]
# 방문을 확인할 리스트
visited = [False for _ in range(n + 1)]
# 연결 요소의 개수
count = 0
# 각 노드가 연결된 정보를 리스트로 표현
for _ in range(m):
u, v = map(int, sys.stdin.readline().split())
graph[u].append(v)
graph[v].append(u)
def bfs(graph, start, visited):
queue = deque([start])
# 현재 노드 방문 처리
visited[start] = True
# 큐가 빌 때까지 반복
while queue:
v = queue.popleft()
for i in graph[v]:
if not visited[i]:
queue.append(i)
visited[i] = True
for i in range(1, len(graph)):
if visited[i] == False:
bfs(graph, i, visited)
count += 1
print(count)