오늘은 좀 쉬어가자,,
# com_num 입력
com_num = int(input())
# con_num 입력
con_num = int(input())
# start_points, end_points 설계 및 입력
start_points, end_points = [], []
for _ in range(con_num):
s, e = map(int, input().split())
start_points.append(s)
end_points.append(e)
# dfs(vertex)
def dfs(vertex):
global ans
for curr_v in range(1, com_num + 1):
if graph[vertex][curr_v] and not visited[curr_v]:
ans += 1
visited[curr_v] = 1
dfs(curr_v)
# 설계
# graph(연결 관계 표현)
graph = [
[0] * (com_num + 1)
for _ in range(com_num + 1)
]
# graph 채워넣기
for sp, ep in zip(start_points, end_points):
graph[sp][ep] = 1
graph[ep][sp] = 1
# visited
visited = [ 0 for _ in range(com_num + 1) ]
# root_vertex
root_vertex = 1
# 방문 처리 해 주고
visited[root_vertex] = 1
# ans
ans = 0
# dfs 돌려주기
dfs(root_vertex)
# 출력
print(ans)'Algorithm(BOJ, Python) > BFS&DFS' 카테고리의 다른 글
| [백준_2468] 안전영역 python (1) | 2022.08.26 |
|---|---|
| [백준_1012] 유기농배추 python (0) | 2022.08.25 |
| [백준_7569] 토마토 python (0) | 2022.08.22 |
| [백준_2206] 벽 부수고 이동하기 python (0) | 2022.08.21 |
| [백준_2573] 빙산 python (0) | 2022.08.20 |