結果

問題 No.1344 Typical Shortest Path Sum
ユーザー GER_chen
提出日時 2021-01-26 10:55:38
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 140 ms / 2,000 ms
コード長 811 bytes
コンパイル時間 350 ms
コンパイル使用メモリ 82,784 KB
実行使用メモリ 77,180 KB
最終ジャッジ日時 2024-06-23 10:16:30
合計ジャッジ時間 6,435 ms
ジャッジサーバーID
(参考情報)
judge4 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 77
権限があれば一括ダウンロードができます

ソースコード

diff #

#yuki-1344
def bellman_ford(s, n, Edges):
    sp = [float('inf')]*n  #各頂点への最短路
    sp[s] = 0  #自身への距離は0
    for i in range(n):  #頂点の数だけ回す
        update = False  #更新が行われたか
        for x, y, cost in Edges:
            if sp[y] > sp[x] + cost:
                sp[y] = sp[x] + cost
                update = True
        if not update:
            break
        if i == n-1:  #負閉路が存在
            return False
    return sp

N, M = map(int, input().split())  #N頂点、M辺

#辺集合
Edges = set()
for _ in range(M):
    s, t, d = map(int, input().split())
    Edges.add((s-1, t-1, d))

#到達不可能な場合0にする設定
for i in range(N):
    sp = bellman_ford(i, N, Edges)
    print(sum(l if l < float('inf') else 0 for l in sp))
0