https://www.acmicpc.net/problem/1916
백준 1916문제를 푸려고 하는데요
아래의 코드가 틀렸다고 뜹니다. 어느 부분에서 틀린건지 잘 모르겠어서 이렇게 글 올립니다.
도움 부탁드립니다.
from collections import defaultdict
n = int(input()) # 도시의 개수
m = int(input()) # 버스의 개수
bus_dict = defaultdict(list)
for i in range(1,n+1):
bus_dict[i]
for i in range(m):
a = [int(x) for x in input().split()]
bus_dict[a[0]].append(a)
begin, end = input().split()
begin, end = int(begin), int(end)
def Dijkstra(bus_dict): # 시작 : [도착지, 비용]
d = {} # 가중치 딕셔너리 / {도착지: 최소비용}
for i in range(1, n+1):
if i == begin:
d[i] = 0
continue
d[i] = 10 ** 100 # 무한대
for i in bus_dict[begin]:
d[i[1]] = i[2]
i = 0
index = sorted(d.items(), key=lambda x: x[1])
while True:
if len(index) == i:
break
for j in bus_dict[index[i][0]]: # j 는 해당 인덱스로 시작하는 bus 리스트 / [4,5,3]
d[j[1]] = min(d[j[0]] + j[2], d[j[1]])
index = sorted(d.items(), key=lambda x: x[1])
i = i+1
return d[end]
print(Dijkstra(bus_dict))
파이썬잘모르는데 10의 100승받을수있나
십만 곱하기 N으로바꿔봐요