백준 [ALGORITHM] - DFS와 BFS (1260)
2023. 5. 28. 18:22ㆍ코딩/백준 [ALGORITHM]
반응형
from collections import deque
n, m, v = map(int, input().split())
# 그래프 초기화
graph = [[] for _ in range(n + 1)]
for _ in range(m):
a, b = map(int, input().split())
graph[a].append(b)
graph[b].append(a)
def dfs(v):
visited = []
stack = [v]
while stack:
node = stack.pop()
if node not in visited:
visited.append(node)
for neighbor in sorted(graph[node], reverse=True):
if neighbor not in visited:
stack.append(neighbor)
return visited
def bfs(v):
visited2 = []
queue = deque([v])
while queue:
node = queue.popleft()
if node not in visited2:
visited2.append(node)
for neighbor in sorted(graph[node]):
if neighbor not in visited2:
queue.append(neighbor)
return visited2
visited = dfs(v)
visited2 = bfs(v)
print(' '.join(str(s) for s in visited))
print(' '.join(str(s) for s in visited2))
반응형
'코딩 > 백준 [ALGORITHM]' 카테고리의 다른 글
백준 [ALGORITHM] - 명령 프롬프트 (1032) (0) | 2023.06.11 |
---|---|
백준 [ALGORITHM] - 인사성 밝은 곰곰이 (25192) (0) | 2023.05.29 |
백준 [ALGORITHM] - 카드2 (2164) (0) | 2023.04.21 |
백준 [ALGORITHM] - 덱 (10866) (0) | 2023.04.20 |
백준 [ALGORITHM] - 제로 (10773) (0) | 2023.04.19 |