728x90
반응형
import sys
sys.setrecursionlimit(10000000)
n, m = map(int,sys.stdin.readline().split())
graph = [ [] for i in range(n+1) ]
for i in range(m):
start, end = map(int,sys.stdin.readline().split())
graph[start].append(end)
graph[end].append(start)
visited = [False] * (n+1)
def dfs ( graph, v,visited):
visited[v] = True
for i in graph[v]:
if not visited[i]:
dfs( graph, i, visited)
cnt = 0
for i in range(1,n+1):
if not visited[i] :
cnt += 1
dfs( graph, i, visited)
print(cnt)
그냥 아주 기초적인 bfs 풀이와 유사하다.
프로그래머스의 네트워크 문제와 비슷한 것 같다.
다만, 런타임 에러가 난다면 입력 할 때 sys를 import한 다음 아래 식을 사용해서 입력 받는다.
import sys
sys.setrecursionlimit(10000000)
n, m = map(int,sys.stdin.readline().split())
728x90
반응형
'백준 > DFS_BFS' 카테고리의 다른 글
# 2468번: 안전 영역 (0) | 2020.10.12 |
---|---|
# 4963번: 섬의 개수 (0) | 2020.10.12 |
# 1260번: DFS와 BFS (0) | 2020.10.11 |
깊이/너비 우선 탐색(DFS/BFS)-여행경로* (0) | 2020.10.11 |
# 2178 미로 탐색 (0) | 2020.10.05 |