中级
Travel Plan
未完成
中级参考
代码结构已给出,请填写 ____ 处
def solve(____):
import heapq
n, m, s, d = int(____), int(____), int(____), int(____)
graph = [[] for _ in range(____)]
for e in str(____).split(____):
u, v, dist, cost = map(int, e.split(____))
graph[u].append((____))
graph[v].append((____))
INF = float(____)
best_d = [INF] * n
best_c = [INF] * n
best_d[s] = ____
best_c[s] = ____
pq = [(____, ____, s)]
while pq:
dd, cc, u = heapq.heappop(____)
if dd > best_d[u]: continue
for v, w, wc in graph[u]:
nd = dd + w
nc = cc + wc
if nd < best_d[v] or (____):
best_d[v] = nd
best_c[v] = nc
heapq.heappush(pq, (____))
print(____)
示例
输入
solve(4, 5, 0, 3, '0,1,1,20;1,3,2,30;0,3,4,10;0,2,2,20;2,3,1,20')
期望输出
40
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199