백준 1753번 다익스트라 (파이썬)
728x90
반응형
import sys
import collections
import heapq
V,E=map(int,sys.stdin.readline().split())
K=int(sys.stdin.readline())
graph=collections.defaultdict(list)
for i in range(E):
u,v,w=map(int,sys.stdin.readline().split())
graph[u].append((v,w))
dist=collections.defaultdict(int)
q=[(0,K)]
while q:
time,node=heapq.heappop(q)
if node not in dist:
dist[node]=time
for v,w in graph[node]:
alt=time+w
heapq.heappush(q,(alt,v))
for x in range(1,V+1):
if x in dist:
print(dist[x])
else: print('INF')
728x90
반응형
'백준' 카테고리의 다른 글
[백준] 2252번 줄세우기( 파이썬, 위상정렬) (0) | 2020.10.10 |
---|---|
백준 10282번 해킹(파이썬) (0) | 2020.10.08 |
[백준] 1260번 bfs와 dfs (python, java) (0) | 2020.10.07 |
백준 중앙값 구하기 (우선순위큐, python) (0) | 2020.10.03 |
가운데를 말해요 (python, 우선순위큐) (0) | 2020.10.03 |
TAGS.