

제목 그대로 DFS와 BFS를 수행한 결과를 출력하면 되는 문제인데,
인접정점이 오름차순으로 입력되지 않기 때문에 입력을 받은 후에 정렬을 한 번 해줘야 한다.
from collections import deque
n,m,v = map(int,input().split())
graph = [[]for i in range(n+1)]
visited = [False]*(n+1)
for i in range(m):
    s,e = map(int,input().split())
    graph[s].append(e)
    graph[e].append(s)
for i in range(n+1):
    graph[i].sort()
def dfs(graph, v, visited):
    visited[v] = True
    print(v,end=' ')
    for i in graph[v]:
        if not visited[i]:
            dfs(graph,i,visited)
def bfs(graph, start, visited):
    queue = deque()
    queue.append(start)
    visited[start] = True
    while queue:
        v = queue.popleft()
        print(v, end=' ')
        for i in graph[v]:
            if not visited[i]:
                queue.append(i)
                visited[i] = True
dfs(graph, v, visited)
visited = [False]*(n+1)
print()
bfs(graph,v,visited)'Algorithm > [BOJ] - Python' 카테고리의 다른 글
| [백준] 2606 : 바이러스 python (0) | 2023.08.17 | 
|---|---|
| [백준] 2178 : 미로 탐색 python (0) | 2023.08.17 | 
| [백준] 2798 : 블랙잭 python (0) | 2023.08.17 | 
| [백준] 11286 : 절댓값 힙 python (0) | 2023.08.17 | 
| [백준] 13305 : 주유소 python (0) | 2023.08.13 | 
 
									
								 
									
								 
									
								