← 返回题库
中级

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(____)

示例

输入
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
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码