#BFS

from collections import deque

def BFS(graph,v,vi,r):
  queue=deque()
  queue.append(v)
  while(queue):
    k=queue.popleft()
    r.append(k)
    for i in range(len(graph[k])):
      if vi[graph[k][i]]==False:
        #r.append(graph[k][i])
        vi[graph[k][i]]=True
        queue.append(graph[k][i])


r=[]
graph = [
  [],
  [2,3,8],
  [1,7],
  [1,4,5],
  [3,5],
  [3,4],
  [7],
  [2,6,8],
  [1,7]
]

vi=[False]*9
vi[1]=True
BFS(graph, 1,vi,r)
print(r)

'정보올림피아드-KOI > 기초 문법 문제' 카테고리의 다른 글

미로탈출 - 파이썬  (0) 2021.02.04
음료수 얼려먹기 - 파이썬  (0) 2021.02.04
DFS - 인접 리스트  (0) 2021.02.04
1337 : 달팽이삼각형  (0) 2021.02.02
2071 : 파스칼 삼각형  (0) 2021.01.26

+ Recent posts