https://www.acmicpc.net/problem/11724
연결된 노드의 모임(?)이 몇 개인지 출력하는 문제였다.
dfs로 풀었다.
n,m = map(int,input().split())
count = 0 #연결 요소의 개수
def dfs(graph, v, visited):
visited[v] = True #방문 처리
for i in graph[v]:
if visited[i] == False: #방문하지 않았으면 재귀로 반복
dfs(graph, i, visited)
graph = [[] for _ in range(n+1)]
visited = [False] * (n+1)
for i in range(m): #m번 반복
node, next_node = map(int,input().split())
graph[node].append(next_node)
graph[next_node].append(node)
for i in range(1, n+1): #0~(n-1)
if not visited[i]:
dfs(graph,i,visited)
count += 1
print(count)
'백준' 카테고리의 다른 글
[백준] 9237번: 이장님 초대 (파이썬) (1) | 2024.11.30 |
---|---|
[백준] 18870번: 좌표 압축 (파이썬) (2) | 2024.11.30 |
[백준] 11659번: 구간 합 구하기 4(파이썬) (0) | 2024.11.23 |
[백준] 16506번: CPU(파이썬) (0) | 2024.11.22 |
[백준] 3986번: 좋은 단어(파이썬) (1) | 2024.11.21 |