Skip to content

Commit 448eb3d

Browse files
committed
[BOJ] #24479. 알고리즘 수업 - 깊이 우선 탐색 1 / 실버2 / 실패
1 parent b134f62 commit 448eb3d

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

.DS_Store

6 KB
Binary file not shown.
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import sys
2+
sys.setrecursionlimit(10**6) # 최대 재귀한도 깊이
3+
input = sys.stdin.readline
4+
5+
def dfs(v):
6+
global order
7+
visited[v] = order # 방문하면 순서 넣기
8+
order += 1 # 다음 순서로 넘어가기
9+
for u in sorted(graph[v]): # 오름차순으로 인접노드 방문하기 위해 정렬
10+
if visited[u] == 0: # 방문 안 한 노드면 dfs탐색
11+
dfs(u)
12+
13+
# n: 정점의 수, m: 간선의 수, r: 시작 정점
14+
n, m, r = map(int, input().strip().split())
15+
graph = [[] for _ in range(n + 1)]
16+
visited = [0] * (n + 1) # 방문 순서 저장. 0이면 방문 X
17+
order = 1
18+
19+
# m개의 간선 정보를 입력받아 그래프로 연결하기
20+
for _ in range(m):
21+
u, v = map(int, input().strip().split())
22+
graph[u].append(v)
23+
graph[v].append(u)
24+
25+
dfs(r)
26+
27+
# 해당노드를 몇 번째로 방문했는지 출력
28+
for i in range(1, n + 1):
29+
print(visited[i])

0 commit comments

Comments
 (0)