結果
問題 | No.1344 Typical Shortest Path Sum |
ユーザー |
|
提出日時 | 2022-05-06 19:03:46 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 862 bytes |
コンパイル時間 | 171 ms |
コンパイル使用メモリ | 82,048 KB |
実行使用メモリ | 70,784 KB |
最終ジャッジ日時 | 2024-07-05 20:06:17 |
合計ジャッジ時間 | 6,154 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 29 WA * 48 |
ソースコード
# 計算量:O(|V||E|) def bellman_ford(s: int) -> list: '負のコストを持つ最短経路問題' INF = 10 ** 18 dist = [INF] * n dist[s] = 0 for i in range(n): update = False # 経路更新を行ったか for a, b, cost in g: if dist[a] > dist[b] + cost: dist[a] = dist[b] + cost update = True # 更新が行われなければそれが最短経路となる if not update: break if i == n - 1: return -1 return dist n, m = map(int, input().split()) g = [] for _ in range(m): u, v, cost = map(int, input().split()) u -= 1 v -= 1 g.append((v, u, cost)) for i in range(n): ans = bellman_ford(i) num = 0 for j in ans: if j >= 10 ** 18: continue num += j print(num)