fix: error saving the edges

This commit is contained in:
kyshen
2024-09-06 23:59:51 +08:00
parent e391a24729
commit e24c307c07

View File

@ -430,10 +430,10 @@ import collections
def main():
n, m = map(int, input().strip().split())
edges = []
edges = [[] for _ in range(n + 1)]
for _ in range(m):
src, dest, weight = map(int, input().strip().split())
edges.append([src, dest, weight])
edges[src].append([dest, weight])
minDist = [float("inf")] * (n + 1)
minDist[1] = 0
@ -443,18 +443,13 @@ def main():
while que:
cur = que.popleft()
visited[cur] = True
updated = False
for src, dest, weight in edges:
if minDist[src] != float("inf") and minDist[src] + weight < minDist[dest]:
minDist[dest] = minDist[src] + weight
updated = True
visited[cur] = False
for dest, weight in edges[cur]:
if minDist[cur] != float("inf") and minDist[cur] + weight < minDist[dest]:
minDist[dest] = minDist[cur] + weight
if visited[dest] == False:
que.append(dest)
visited[dest] = True
if not updated:
break
if minDist[-1] == float("inf"):
return "unconnected"