반응형
n, m, v = map(int, input().split())
node = [[] for _ in range(n+1)]
for i in range(m):
a, b = map(int, input().split())
node[a].append(b)
node[b].append(a)
for j in range(n+1):
node[j].sort()
def dfs(v):
visited1[v] = True
print(v, end=' ')
for i in node[v]:
if not visited1[i]:
dfs(i)
visited1 = [False] * (n+1)
dfs(v)
print()
from collections import deque
def bfs(v):
queue = deque()
queue.append(v)
visited[v] = True
while queue:
v = queue.popleft()
print(v, end= ' ')
for i in node[v]:
if not visited[i]:
queue.append(i)
visited[i] = True
visited = [False] * (n+1)
bfs(v)
반응형
'Algorithm > Baekjoon' 카테고리의 다른 글
파이썬(Python) 백준 24479 알고리즘 수업 - 깊이 우선 탐색 1 (0) | 2023.04.30 |
---|---|
파이썬(Python) 백준 2839 설탕 배달 (0) | 2023.04.22 |
백준 7568 파이썬 / 덩치 of 브루트 포스 (0) | 2020.09.14 |
백준 2231 파이썬 / 분해합 of 브루트 포스 (0) | 2020.09.14 |
백준 1316 파이썬 / 그룹 단어 체커 (0) | 2020.09.13 |