Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions problems/kamacoder/0095.城市间货物运输II.md
Original file line number Diff line number Diff line change
Expand Up @@ -502,18 +502,21 @@ def main():
min_dist[1] = 0 # 初始化
count[1] = 1
d = deque([1])
in_queue = [False for _ in range(n+1)]
flag = False

while d: # 主循环
cur_node = d.popleft()
in_queue[cur_node] = False
for next_node, val in graph[cur_node]:
if min_dist[next_node] > min_dist[cur_node] + val:
min_dist[next_node] = min_dist[cur_node] + val
if next_node not in d:
if not in_queue[next_node]:
count[next_node] += 1
d.append(next_node)
if count[next_node] == n: # 如果某个点松弛了n次,说明有负回路
flag = True
in_queue[next_node] = True
if count[next_node] == n: # 如果某个点松弛了n次,说明有负回路
flag = True
if flag:
break

Expand Down