library-rs

This documentation is automatically generated by competitive-verifier/competitive-verifier

View the Project on GitHub naoya675/library-rs

:heavy_check_mark: verification/aizu-online-judge/grl_7_a_maxflow/src/main.rs

Depends on

Code

// verification-helper: PROBLEM https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=GRL_7_A

use proconio::input;

use maxflow::Maxflow;

fn main() {
    input! {
        x: usize,
        y: usize,
        e: usize,
        xy: [(usize, usize); e],
    }
    let xy = xy.iter().map(|&(xi, yi)| (xi, x + yi)).collect::<Vec<_>>();

    let source = x + y;
    let sink = source + 1;
    let mut mf = Maxflow::<i64>::new(sink + 1);
    (0..x).for_each(|i| {
        mf.add_edge(source, i, 1);
    });
    xy.iter().for_each(|&(x, y)| {
        mf.add_edge(x, y, 1);
    });
    (x..x + y).for_each(|i| {
        mf.add_edge(i, sink, 1);
    });

    println!("{}", mf.flow(source, sink));
}

Test cases

Env Name Status Elapsed Memory
Rust 00_sample_00.in :heavy_check_mark: AC 4 ms 2 MB
Rust 01_small_00.in :heavy_check_mark: AC 4 ms 2 MB
Rust 01_small_01.in :heavy_check_mark: AC 4 ms 2 MB
Rust 02_corner_00.in :heavy_check_mark: AC 4 ms 2 MB
Rust 02_corner_01.in :heavy_check_mark: AC 4 ms 2 MB
Rust 03_medium_00.in :heavy_check_mark: AC 4 ms 2 MB
Rust 03_medium_01.in :heavy_check_mark: AC 4 ms 2 MB
Rust 03_medium_02.in :heavy_check_mark: AC 4 ms 2 MB
Rust 03_medium_03.in :heavy_check_mark: AC 4 ms 2 MB
Rust 03_medium_04.in :heavy_check_mark: AC 4 ms 2 MB
Rust 04_rand_00.in :heavy_check_mark: AC 4 ms 2 MB
Rust 04_rand_01.in :heavy_check_mark: AC 4 ms 2 MB
Rust 04_rand_02.in :heavy_check_mark: AC 4 ms 2 MB
Rust 04_rand_03.in :heavy_check_mark: AC 4 ms 2 MB
Rust 04_rand_04.in :heavy_check_mark: AC 4 ms 2 MB
Rust 04_rand_05.in :heavy_check_mark: AC 4 ms 2 MB
Rust 04_rand_06.in :heavy_check_mark: AC 4 ms 2 MB
Rust 04_rand_07.in :heavy_check_mark: AC 4 ms 2 MB
Rust 04_rand_08.in :heavy_check_mark: AC 4 ms 2 MB
Rust 04_rand_09.in :heavy_check_mark: AC 4 ms 2 MB
Rust 05_large_00.in :heavy_check_mark: AC 4 ms 2 MB
Rust 05_large_01.in :heavy_check_mark: AC 6 ms 3 MB
Rust 05_large_02.in :heavy_check_mark: AC 4 ms 2 MB
Rust 05_large_03.in :heavy_check_mark: AC 4 ms 2 MB
Rust 06_sparse_00.in :heavy_check_mark: AC 4 ms 2 MB
Rust 06_sparse_01.in :heavy_check_mark: AC 4 ms 2 MB
Rust 06_sparse_02.in :heavy_check_mark: AC 4 ms 2 MB
Rust 06_sparse_03.in :heavy_check_mark: AC 4 ms 2 MB
Rust 07_all_00.in :heavy_check_mark: AC 4 ms 2 MB
Rust 07_all_01.in :heavy_check_mark: AC 4 ms 2 MB
Rust 07_all_02.in :heavy_check_mark: AC 4 ms 2 MB
Rust 07_all_03.in :heavy_check_mark: AC 4 ms 2 MB
Rust 07_all_04.in :heavy_check_mark: AC 4 ms 2 MB
Rust 07_all_05.in :heavy_check_mark: AC 4 ms 2 MB
Rust 08_biased_00.in :heavy_check_mark: AC 4 ms 2 MB
Rust 08_biased_01.in :heavy_check_mark: AC 4 ms 2 MB
Rust 09_complete_00.in :heavy_check_mark: AC 6 ms 3 MB
Rust 09_complete_01.in :heavy_check_mark: AC 6 ms 3 MB
Rust 09_complete_02.in :heavy_check_mark: AC 6 ms 3 MB
Rust 09_complete_03.in :heavy_check_mark: AC 7 ms 3 MB
Back to top page