Skip to main content

library_checker/graph/
general_matching.rs

1use competitive::graph::GeneralMatching;
2use competitive::prelude::*;
3
4#[verify::library_checker("general_matching")]
5pub fn general_matching(reader: impl Read, writer: impl Write) {
6    prepare_io!(reader, writer);
7    sc!(n, m, uv: [(usize, usize); iter m]);
8    let mut gm = GeneralMatching::new(n);
9    for (u, v) in uv {
10        gm.add_edge(u, v);
11    }
12    let matching = gm.maximum_matching();
13    pp!(matching.len(); @ittup matching);
14}