from collections import deque
import sys
input = sys.stdin.readline
N, M = map(int,input().split())
G = [[] for _ in range(N+1)]
visited = [0] * (N+1)
for _ in range(M):
u, v = map(int, input().split())
G[u].append(v)
G[v].append(u)
q = deque()
connect = 0
for i in range(1,N+1):
#만약 방문하지 않았으면
if visited[i] == 0:
#방문 처리 해주고
visited[i] = 1
#큐에 추가
q.append(i)
#연결되는 갯수 늘어났으므로 하나 추가
connect += 1
#큐가 비어있을시
while q:
num = q.popleft()
for j in G[num]:
if visited[j] == 0:
visited[j]=1
q.append(j)
print(connect)
bfs로 풀어보았다
728x90
반응형
'Algorithm > 백준' 카테고리의 다른 글
백준 7562 - python bfs로 푼 풀이 (0) | 2021.03.03 |
---|---|
백준 11725- 트리의 부모 찾기 (0) | 2021.02.24 |
백준 1010번 다리놓기(python3) (0) | 2021.02.03 |
백준 13301 타일깔기 (0) | 2021.02.01 |
백준 9625-python 풀이 (0) | 2021.02.01 |