💡문제접근
- DFS 기본 코드 + 별도로 내림차순 정렬을 수행
💡코드(메모리 : 68132KB, 시간 : 608ms)
import sys
sys.setrecursionlimit(10**6)
input = sys.stdin.readline
N, M, R = map(int, input().strip().split())
graph = [[] for _ in range(N+1)]
for _ in range(M):
u, v = map(int, input().strip().split())
graph[u].append(v)
graph[v].append(u)
for i in range(len(graph)):
graph[i].sort(reverse=True)
visited = [0] * (N+1)
cnt = 1
def DFS(x):
global cnt
visited[x] = cnt
for i in graph[x]:
if not visited[i]:
cnt += 1
DFS(i)
DFS(R)
for i in visited[1:]:
print(i)
💡소요시간 : 5m