https://www.acmicpc.net/problem/2606
import sys
sys.setrecursionlimit(10 ** 6)
# 컴퓨터의 수 100이하
n = int(sys.stdin.readline())
# 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수
m = int(sys.stdin.readline())
graph = [[] for _ in range(n + 1)]
visited = [False] * (n + 1)
for _ in range(m):
a, b = map(int, sys.stdin.readline().split())
graph[a].append(b)
graph[b].append(a)
cnt = 0
def dfs(k):
global cnt
visited[k] = True
cnt += 1
for i in graph[k]:
if visited[i] is False:
dfs(i)
dfs(1)
print(cnt - 1)
'자료구조 & 알고리즘 관련 > 코딩테스트' 카테고리의 다른 글
숨바꼭질 (0) | 2023.02.07 |
---|---|
단지번호붙이기 (0) | 2023.02.05 |
알고리즘 수업 - 너비 우선 탐색 2 (0) | 2023.02.05 |
알고리즘 수업 - 너비 우선 탐색 1 (0) | 2023.02.05 |
알고리즘 수업 - 깊이 우선 탐색 2 (0) | 2023.02.05 |