1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
pub fn floyd_warshall(mut g: Vec<Vec<u64>>) -> Vec<Vec<u64>> { let n = g.len(); for k in 0..n { for i in 0..n { for j in 0..n { g[i][j] = g[i][j].min(g[i][k] + g[k][j]); } } } g } #[cfg(test)] mod tests { #[test] fn test() {} }