본문 바로가기

백준

[백준] 11724번: 연결 요소의 개수 (파이썬)

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)