お気に入りのマグを割ってしまった。1個ではなく手を滑らせて落としたところにもう1個があって2個同時に、だ。さようなら。
https://iris.to/note1a6y353a9d7ctyq3u6lxrxqm07dawxlmeldzzw36hawkfxnwjkswsd3xcxh
- 全点対最短経路問題 (典型アルゴリズム問題集 E問題)
https://atcoder.jp/contests/typical-algorithm/tasks/typical_algorithm_e
- https://atcoder.jp/contests/typical-algorithm/submissions/41441818
- ワーシャルフロイド法で素朴に
- 3 重ループの入れ子を間違えて 3WA
use proconio::input; fn main() { input! { n: usize, m: usize, uvc: [(usize, usize, usize); m], } let inf = 1_usize << 60; let mut dist = vec![vec![inf; n]; n]; for i in 0..n { dist[i][i] = 0; } for (u, v, c) in uvc { dist[u][v] = dist[u][v].min(c); } for k in 0..n { for i in 0..n { for j in 0..n { dist[i][j] = dist[i][j].min(dist[i][k] + dist[k][j]).min(inf); } } } let mut sum = 0_usize; for i in 0..n { for j in 0..n { sum += dist[i][j]; } } let ans = sum; println!("{}", ans); }
今日のコミット。