contests/arc032/arc032_2.rs (22 lines of code) (raw):
#![allow(non_snake_case)]
use proconio::{fastout, input};
use std::collections::HashMap;
#[fastout]
fn main() {
input! {
N: usize,
M: usize,
AB: [[usize; 2]; M]
}
let mut max_need_road = N - 1;
let mut already = HashMap::new();
for ab in AB {
if already.contains_key(&ab[0]) && already.contains_key(&ab[1]) {
continue;
}
already.insert(ab[0], true);
already.insert(ab[1], true);
max_need_road -= 1;
}
println!("{}", max_need_road);
}
// https://atcoder.jp/contests/arc032/tasks/arc032_2
// なんかテストケース2問だけ間違えるけどよくわからん。