中级
最短路变形
未完成
中级参考
代码结构已给出,请填写 ____ 处
def solve(____):
from collections import defaultdict
import heapq
graph = defaultdict(____)
for e in edges.split(____):
u, v, w = map(int, e.split(____))
graph[u].append((____))
dist = [float(____)] * (____)
dist[____] = ____
pq = [(____, ____)]
while pq:
d, u = heapq.heappop(____)
if d > dist[u]:
continue
for v, w in graph[u]:
if dist[v] > dist[u] + w:
dist[v] = dist[u] + w
heapq.heappush(pq, (____))
print(dist[n] if dist[n] != float(____) else -____)
示例
输入
3|3|1,2,1;2,3,2;1,3,4
期望输出
3
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199