37 lines
907 B
Python
37 lines
907 B
Python
def dfs(arr, now, visited) :
|
|
if not visited[now] :
|
|
print(now, end = " ")
|
|
visited[now] = True
|
|
for next in arr[now] :
|
|
if not visited[next] :
|
|
dfs(arr, next, visited)
|
|
|
|
def bfs(arr, start, visited) :
|
|
from collections import deque
|
|
queue = deque([start])
|
|
visited[start] = True
|
|
|
|
while len(queue) != 0:
|
|
v = queue.popleft()
|
|
print(v, end = " ")
|
|
for n in arr[v] :
|
|
if not visited[n] :
|
|
queue.append(n)
|
|
visited[n] = True
|
|
|
|
N, M, V = map(int, input().split())
|
|
arr = [[] for _ in range(N+1)]
|
|
visited = [False for _ in range(N+1)]
|
|
for _ in range(M) :
|
|
n, m = map(int,input().split())
|
|
arr[n].append(m)
|
|
arr[m].append(n)
|
|
|
|
for row in arr :
|
|
row.sort()
|
|
|
|
dfs(arr, V, visited)
|
|
print()
|
|
visited = [False for _ in range(N+1)]
|
|
bfs(arr, V, visited)
|
|
print() |