백준, 연결 요소 개수, 11724, 파이썬
2024. 9. 16. 02:42ㆍETC/Algorithm
[유형]
DFS
[문제링크]
https://www.acmicpc.net/problem/11724
[요약]
방향 없는 그래프가 주어졌을 때, 연결 요소 (Connected Component)의 개수를 구하는 프로그램을 작성하시오.
[문제풀이]
백준 온라인 저지의 기본 recursionlimit은 1000이다.
sys.setrecursionlimit()을 지정해주지 않으면 재귀 호출 시 런타임 에러가 발생한다.
visited[i]==0인 노드가 없어질 때까지 DFS를 수행하면서 answer+=1
import sys
sys.setrecursionlimit(10**7)
def input():
return sys.stdin.readline().rstrip()
def dfs(graph,visited,v):
visited[v] = 1
for i in graph[v]:
if not visited[i]:
dfs(graph,visited,i)
n,m = map(int,input().split())
answer = 0
graph = [[] for _ in range(n+1)]
visited = [0]*(n+1)
for _ in range(m):
a,b = map(int,input().split())
graph[a].append(b)
graph[b].append(a)
for i in range(1,n+1):
if not visited[i]:
dfs(graph,visited,i)
answer += 1
print(answer)
'ETC > Algorithm' 카테고리의 다른 글
백준, 숨바꼭질, 1697, 파이썬 (0) | 2024.09.21 |
---|---|
백준, 단지번호붙이기, 2667, 파이썬 (0) | 2024.09.20 |
백준, 바이러스, 2606, 파이썬 (0) | 2024.09.16 |
백준, 저울, 2473, 파이썬 (1) | 2024.09.12 |
백준, 단어 수학, 1339 (1) | 2024.09.12 |