미루고 미루던 그래프 탐색 이론 2트
함수를 작성하는 것도 아직은 모르겠다.
일단 그래프 탐색 이론에서 꼭 들어가는거
1. 방문 기록 리스트
2. 방문 예정 리스트
from collections import deque
n, m = map(int, input().split())
n_dict = {i+1:[] for i in range(n)}
# 입력받은 값 저장하는 용도
for i in range(m):
u, v = map(int, input().split())
n_dict[u].append(v)
n_dict[v].append(u)
# 방문했는지 안했는지의 여부 T/F
visited = [False for i in range(n+1)]
# 연결이 끊기면(?) 카운트
cnt = 0
# 정점 한 번씩 가기
for i in range(1, n+1):
# i번이 아직 F이면
if not visited[i]:
# q = 방문 예정인 친구들 넣어두는 곳
q = deque()
q.append(i)
# i번 방문할거니까 T
visited[i] = True
# 방문할 곳이 끊길때까지
while q:
node = q.popleft()
for j in n_dict[node]:
if not visited[j]:
visited[j] = True
q.append(j)
cnt += 1
print(cnt)
'백준' 카테고리의 다른 글
백준 1021번: 회전하는 큐 (파이썬) (0) | 2024.08.02 |
---|---|
백준 14469번: 소가 길을 건너간 이유(파이썬) (0) | 2024.08.02 |
백준 19941번: 햄버거 분배 (파이썬) (2) | 2024.07.03 |
백준 16948번: 데스 나이트 (파이썬) (0) | 2024.06.26 |
백준 2870번: 수학숙제 (파이썬) _리스트 출력하기 / for-else (0) | 2024.06.21 |