💡문제접근
- DFS 기본 코드 + 별도로 오름차순 정렬 수행
- 노드 정점 방문 여부
💡코드(메모리 : 68132KB, 시간 : 632ms)
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()
visited = [-1] * (N+1)
def DFS(x):
for i in graph[x]:
if visited[i] == -1:
visited[i] = visited[x] + 1
DFS(i)
visited[R] = 0
DFS(R)
for i in visited[1:]:
print(i)
💡소요시간 : 7m