가오리의 코딩일기
[1206] DFS와 BFS 본문
https://www.acmicpc.net/problem/1260
from collections import deque
def dfs(n):
visited[n] = True
print(n, end=' ')
for i in graph[n]:
if not visited[i]:
dfs(i)
def bfs(n):
queue = deque([n])
visited[n] = True
while queue:
v = queue.popleft()
print(v, end=' ')
for i in graph[v]:
if not visited[i]:
queue.append(i)
visited[i] = True
N, M, V = map(int, input().split())
graph = [[] for _ in range(N+1)]
for i in range(M):
a, b = map(int, input().split())
graph[a].append(b)
graph[b].append(a)
for i in range(1, N+1):
graph[i].sort()
visited = [False] * (N+1)
dfs(V)
print()
visited = [False] * (N+1)
bfs(V)
'Python > 백준' 카테고리의 다른 글
[2448] 별 찍기 - 11 (0) | 2022.07.12 |
---|---|
[2447] 별 찍기 - 10 (0) | 2022.07.12 |
[2204] 도비의 난독증 테스트 (0) | 2022.07.09 |
[2581] 소수 (0) | 2022.07.06 |
더하기 (0) | 2022.07.03 |