문제
https://www.acmicpc.net/problem/1260
코드(전체)
N, M, start = map(int,input().split())
graph = [ [] * i for i in range(N+1) ]
for i in range(M) :
v1, v2 = map(int, input().split())
graph[v1].append(v2)
graph[v2].append(v1)
graph = [sorted(x) for x in graph]
#print(graph)
#DFS
def dfs(graph,v, visited) :
visited[v] = True
print(v, end=' ')
for i in graph[v] :
if not visited[i] :
dfs(graph,i,visited)
visited = [False] * (N+1)
dfs(graph,start,visited)
print("\n", end='')
#BFS
from collections import deque
def bfs(graph, start, visited) :
Q = deque([start])
visited[start] = True
while Q :
v = Q.popleft()
# visited[v] = True
print(v, end=' ')
for i in graph[v] :
if not visited[i] :
Q.append(i)
visited[i] = True
visited = [False] * (N+1)
bfs(graph,start,visited)
'CodingTest' 카테고리의 다른 글
백준 14888 연산자끼워넣기 파이썬 (0) | 2022.07.08 |
---|---|
백준 11725 트리의 부모 찾기 파이썬 (0) | 2022.07.05 |
프로그래머스 72411 메뉴리뉴얼 파이썬 (0) | 2022.07.01 |
백준 11660 구간 합 구하기5 파이썬 (0) | 2022.07.01 |
백준 2109 순회강연 파이썬 (0) | 2022.07.01 |