AtCoder Beginner Contest 012

Submission #1677322

Source codeソースコード

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

Task問題 D - バスと避けられない運命
User nameユーザ名 aimy
Created time投稿日時
Language言語 Rust (1.15.1)
Status状態 AC
Score得点 100
Source lengthソースコード長 1679 Byte
File nameファイル名
Exec time実行時間 88 ms
Memory usageメモリ使用量 6396 KB

Test case

Set

Set name Score得点 / Max score Cases
All 100 / 100 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

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
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