https://www.acmicpc.net/problem/1260
시간 2초, 메모리 128MB
input :
output :
함수에 집어 넣기 전에
visit 초기화 해야 한다는것.
graph 길이 조심.
매번 visit을 언제 바꿔줘야 되는가가 헷갈리는데.
next_node 확인 할 때 바꿔주자.
import sys
from _collections import deque
n, m, v= map(int, sys.stdin.readline().split())
graph = [[] for i in range(n + 1)]
for i in range(m):
a, b = map(int, sys.stdin.readline().split())
graph[a].append(b)
graph[b].append(a)
for i in range(n + 1):
graph[i].sort()
def DFS(start):
visit[start] = True
print(start, end=" ")
for i in graph[start]:
if not visit[i]:
DFS(i)
def BFS(start):
q = deque([start])
visit[start] = True
while q:
now = q.popleft()
print(now, end=" ")
for i in graph[now]:
if not visit[i]:
q.append(i)
visit[i] = True
visit = [False] * (n + 1)
DFS(v)
print()
visit = [False] * (n + 1)
BFS(v)