from collections import deque
n,k,s=map(int,input().split())
arr=[[] for t in range(n+1)]
for _ in range(k):
a,b=map(int,input().split())
arr[a].append(b)
arr[b].append(a)
visited=[0]*(n+1)
visited2=[0]*(n+1)
def dfs(st):
visited[st]=1
print(st,end=" ")
arr[st].sort()
for i in arr[st]:
if visited[i]==0:
dfs(i)
def bfs(sta):
visited2[sta]=1
queue = deque()
queue.append(sta)
while queue:
w=queue.pop()
print(w,end=" ")
arr[w].sort()
for j in arr[w]:
if visited2[j]==0:
queue.appendleft(j)
visited2[j]=1
dfs(s)
print()
bfs(s)
'백준 풀이' 카테고리의 다른 글
백준 1012번 파이썬 bfs (0) | 2022.08.28 |
---|---|
백준 1149번 파이썬 dp (0) | 2022.08.28 |
백준 2667번 파이썬 bfs, dfs (0) | 2022.08.28 |
백준 2606번 파이썬 bfs easy (0) | 2022.08.28 |
백준 2178번 파이썬 bfs easy (0) | 2022.08.27 |