from collections import defaultdict
dict = defaultdict(list)
n, m, start = map(int, input().split())
for _ in range(m):
a, b = map(int, input().split())
dict[a].append(b)
dict[b].append(a)
for i in range(1, n + 1):
dict[i].sort()
---------------------------------------------------------- DFS
def dfs(pos, visit=[]): #---------------재귀 방식
visit.append(pos)
for j in dict[pos]:
if j not in visit:
dfs(j, visit)
return visit
print(dfs(start))
def dfs_2(pos): #------------스택 방식
stack = [pos]
visited = []
while stack :
cur = stack.pop()
if cur not in visited :
visited.append(cur)
for w in list(reversed(dict[cur])):
stack.append(w)
return visited
print(dfs_2(start))
https://www.acmicpc.net/problem/1260