[BOJ] 11724번 : 연결 요소의 개수

오도원공육사·2021년 7월 11일
1

알고리즘

목록 보기
11/17

1. 문제

11724번: 연결 요소의 개수

  • 정점 개수 N, 간선 개수 M
  • 연결 요소의 개수를 구하라

2. 알고리즘

  • 그래프 탐색을 하면서 각 정점 방문 처리
  • 방문하지 않은 노드를 탐색할 때 마다 연결요소 + 1

3. 소스코드

from collections import defaultdict
import sys
sys.setrecursionlimit(10000)
input = sys.stdin.readline

n, m = map(int, input().split())
graph = defaultdict(list)

for _ in range(m):
    u, v = map(int, input().split())
    graph[u].append(v)
    graph[v].append(u)

visited = set()

def dfs(v):
    visited.add(v)
    
    for i in graph[v]:
        if i not in visited:
            dfs(i)

ans = 0    
for i in range(1, n + 1):
    if i not in visited:
        dfs(i)
        ans += 1

print(ans)

4. 파이썬

sys.stdin.readline을 쓰는 이유

입력 연산을 빠르게 할 수 있다.

profile
잘 먹고 잘살기

0개의 댓글