그냥 돌리면서 경로 담아주면되됨
import sys
input = sys.stdin.readline
from collections import defaultdict
def DFS(v):
path.append(v)
check[v] = True
for i in graph[v]:
if check[i]==False:
DFS(i)
def BFS(v):
queue = [v]
path.append(v)
check[v] = True
while queue:
v = queue.pop(0)
for i in graph[v]:
if check[i] ==False:
queue.append(i)
path.append(i)
check[i] = True
N,M,V = list(map(int,input().split()))
graph = defaultdict(list)
for _ in range(M):
a,b = map(int,input().split())
graph[a] += [b]
graph[b] += [a]
for i in range(1,N+1):
graph[i].sort()
path = []
check = [True] +[False]*(N)
DFS(V)
print(*path)
check = [True] +[False]*(N)
path.clear()
BFS(V)
print(*path)
'practivceAlgorithm > 백준' 카테고리의 다른 글
[백준][Python] 1541 잃어버린 괄호 (0) | 2021.08.31 |
---|---|
[백준][Python] 1389 케빈 베이컨의 6단계 법칙 (0) | 2021.08.31 |
[백준][Python] 18860 좌표압축 (1) | 2021.08.31 |
[백준][Python] 11724 연결요소의 개수 (0) | 2021.08.31 |
[백준][Python] 18234 당근훔쳐먹기 (0) | 2021.08.31 |