Submission #1677322


Source Code Expand

fn main() {
  let (n, m): (usize, usize) = read_tuple();
  let edges: Vec<(usize, usize, usize)> = read_tuple3s(m);
  
  let inf = usize::max_value() >> 1;
  let mut graph: Vec<Vec<usize>> = vec![vec![inf; n]; n];
  for k in 0 .. n {
    graph[k][k] = 0;
  }
  for (a,b,t) in edges {
    graph[a-1][b-1] = t;
    graph[b-1][a-1] = t;
  }

  for k in 0 .. n {
    for i in 0 .. n {
      for j in 0 .. n {
        if k != i && k != j {
          graph[i][j] = std::cmp::min(graph[i][j], graph[i][k] + graph[k][j]);
        }
      }
    }
  }
  
  let ans = graph.iter().map(|v|v.iter().filter(|&&d|d!=inf).max().unwrap()).min().unwrap();
  println!("{}", ans);
}

fn read_tuple<T1: std::str::FromStr, T2: std::str::FromStr>() -> (T1, T2) {
  let mut buf = String::new();
  std::io::stdin().read_line(&mut buf).ok();
  let mut it = buf.trim().split_whitespace();
  let x = it.next().unwrap().parse::<T1>().ok().unwrap();
  let y = it.next().unwrap().parse::<T2>().ok().unwrap();
  (x, y)
}

fn read_tuple3<T1: std::str::FromStr, T2: std::str::FromStr, T3: std::str::FromStr>() -> (T1, T2, T3) {
  let mut buf = String::new();
  std::io::stdin().read_line(&mut buf).ok();
  let mut it = buf.trim().split_whitespace();
  let x = it.next().unwrap().parse::<T1>().ok().unwrap();
  let y = it.next().unwrap().parse::<T2>().ok().unwrap();
  let z = it.next().unwrap().parse::<T3>().ok().unwrap();
  (x, y, z)
}

fn read_tuple3s<T1: std::str::FromStr, T2: std::str::FromStr, T3: std::str::FromStr>(n: usize) -> Vec<(T1, T2, T3)> {
  let mut vec: Vec<(T1, T2, T3)> = vec![];
  for _ in 0 .. n {
    vec.push(read_tuple3());
  }
  vec
}

Submission Info

Submission Time
Task D - バスと避けられない運命
User aimy
Language Rust (1.15.1)
Score 100
Code Size 1679 Byte
Status AC
Exec Time 88 ms
Memory 6396 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 39
Set Name Test Cases
All sample_01.txt, sample_02.txt, sample_03.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt
Case Name Status Exec Time Memory
sample_01.txt AC 2 ms 4352 KB
sample_02.txt AC 2 ms 4352 KB
sample_03.txt AC 2 ms 4352 KB
test_01.txt AC 2 ms 4352 KB
test_02.txt AC 77 ms 4352 KB
test_03.txt AC 88 ms 6396 KB
test_04.txt AC 28 ms 4352 KB
test_05.txt AC 28 ms 4352 KB
test_06.txt AC 5 ms 4352 KB
test_07.txt AC 66 ms 6396 KB
test_08.txt AC 2 ms 4352 KB
test_09.txt AC 21 ms 4352 KB
test_10.txt AC 4 ms 4352 KB
test_11.txt AC 5 ms 4352 KB
test_12.txt AC 41 ms 4352 KB
test_13.txt AC 5 ms 4352 KB
test_14.txt AC 6 ms 4352 KB
test_15.txt AC 60 ms 6396 KB
test_16.txt AC 7 ms 4352 KB
test_17.txt AC 23 ms 4352 KB
test_18.txt AC 37 ms 4352 KB
test_19.txt AC 8 ms 4352 KB
test_20.txt AC 7 ms 4352 KB
test_21.txt AC 2 ms 4352 KB
test_22.txt AC 15 ms 4352 KB
test_23.txt AC 2 ms 4352 KB
test_24.txt AC 77 ms 4352 KB
test_25.txt AC 77 ms 4352 KB
test_26.txt AC 19 ms 4352 KB
test_27.txt AC 25 ms 4352 KB
test_28.txt AC 77 ms 4352 KB
test_29.txt AC 77 ms 4352 KB
test_30.txt AC 6 ms 4352 KB
test_31.txt AC 2 ms 4352 KB
test_32.txt AC 77 ms 4352 KB
test_33.txt AC 78 ms 4352 KB
test_34.txt AC 3 ms 4352 KB
test_35.txt AC 15 ms 4352 KB
test_36.txt AC 78 ms 4352 KB