fn main()

in contests/arc032/arc032_2.rs [7:27]


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);
}