728x90
import heapq
INF = int(1e9)
n, m = 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, 1))
graph[b].append((a, 1))
distance = [INF]*(n+1)
start = 1
def dijkstra(start): # 다익스트라
q = []
heapq.heappush(q, (0, start))
distance[start] = 0
while q:
dist, now = heapq.heappop(q)
if dist > distance[now]:
continue
for i in graph[now]:
cost = dist + i[1] # 새로운 비용
if distance[i[0]] > cost:
distance[i[0]] = cost
heapq.heappush(q, (cost, i[0]))
728x90
'Programming Languages > Python' 카테고리의 다른 글
python re.sub - 정규화표현식으로 문자열 바꿔주기 (1) | 2022.09.11 |
---|---|
[Python] defaultdict 문법 정리 (0) | 2022.09.11 |
python bisect, bisect_left, bisect_right (0) | 2022.01.25 |
[Python] 파이썬 join 함수 (파이썬 문자열 리스트 합치기) (0) | 2022.01.22 |
python enumerate 의 사용 (0) | 2022.01.17 |