結果

問題 No.2290 UnUnion Find
ユーザー rsk0315rsk0315
提出日時 2023-05-06 23:58:21
言語 Rust
(1.77.0)
結果
WA  
実行時間 -
コード長 31,114 bytes
コンパイル時間 1,435 ms
コンパイル使用メモリ 154,248 KB
実行使用メモリ 16,608 KB
最終ジャッジ日時 2023-08-15 19:37:26
合計ジャッジ時間 8,122 ms
ジャッジサーバーID
(参考情報)
judge14 / judge15
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 WA -
testcase_01 WA -
testcase_02 AC 19 ms
10,500 KB
testcase_03 AC 27 ms
13,332 KB
testcase_04 WA -
testcase_05 WA -
testcase_06 WA -
testcase_07 WA -
testcase_08 WA -
testcase_09 WA -
testcase_10 WA -
testcase_11 WA -
testcase_12 WA -
testcase_13 WA -
testcase_14 WA -
testcase_15 WA -
testcase_16 WA -
testcase_17 WA -
testcase_18 WA -
testcase_19 WA -
testcase_20 WA -
testcase_21 WA -
testcase_22 WA -
testcase_23 WA -
testcase_24 WA -
testcase_25 WA -
testcase_26 WA -
testcase_27 WA -
testcase_28 WA -
testcase_29 WA -
testcase_30 WA -
testcase_31 WA -
testcase_32 WA -
testcase_33 WA -
testcase_34 WA -
testcase_35 WA -
testcase_36 WA -
testcase_37 WA -
testcase_38 WA -
testcase_39 WA -
testcase_40 AC 41 ms
15,276 KB
testcase_41 WA -
testcase_42 WA -
testcase_43 WA -
testcase_44 WA -
testcase_45 WA -
testcase_46 WA -
権限があれば一括ダウンロードができます

ソースコード

diff #

// This code is generated by [rsk0315/cargo-atcoder](https://github.com/rsk0315/cargo-atcoder) forked from [tanakh/cargo-atcoder](https://github.com/tanakh/cargo-atcoder).
// Original source code:
const _: &str = r#"
use std::io::BufRead;

use proconio::{
    fastout, input,
    marker::Usize1,
    source::{Readable, Source},
};

use nekolib::{ds::UnionFind, traits::DisjointSet};

#[derive(Clone, Copy, Eq, PartialEq)]
enum Query {
    Q1(usize, usize),
    Q2(usize),
}

use Query::{Q1, Q2};

impl Readable for Query {
    type Output = Query;
    fn read<R: BufRead, S: Source<R>>(source: &mut S) -> Self::Output {
        let ty: u32 = source.next_token_unwrap().parse().unwrap();
        if ty == 1 {
            input! {
                from source,
                x: Usize1,
                y: Usize1,
            }
            Q1(x, y)
        } else if ty == 2 {
            input! {
                from source,
                x: Usize1,
            }
            Q2(x)
        } else {
            unreachable!()
        }
    }
}

#[fastout]
fn main() {
    input! {
        n: usize,
        query: [Query],
    }

    let mut next: Vec<_> = (0..n).map(|i| (i + 1) % n).collect();
    let mut prev: Vec<_> = (0..n).map(|i| (i + n - 1) % n).collect();
    let mut uf = UnionFind::new(n);

    let mut res = vec![];
    for &q in &query {
        match q {
            Q1(u, v) => {
                let ru = uf.repr(u);
                let rv = uf.repr(v);
                if ru == rv {
                    continue;
                }

                uf.unite(u, v);
                let new = uf.repr(u);
                assert!([ru, rv].contains(&new));
                let old = ru ^ rv ^ new;
                next[prev[old]] = next[old];
                prev[next[old]] = prev[old];
            }
            Q2(u) => res.push((uf.count(u) < n).then(|| next[u])),
        }
    }

    for res in res {
        if let Some(res) = res {
            println!("{}", n);
        } else {
            println!("-1");
        }
    }
}
"#;

fn main() {
    let exe = std::env::temp_dir().join("binE9CE72D9");
    std::io::Write::write_all(&mut std::fs::File::create(&exe).unwrap(), &decode(BIN)).unwrap();
    #[cfg(unix)]
    fn executable(exe: &std::path::Path) {
        std::fs::set_permissions(exe, std::os::unix::fs::PermissionsExt::from_mode(0o755)).unwrap();
    }
    #[cfg(not(unix))]
    fn executable(_: &std::path::Path) {}
    executable(&exe);
    std::process::exit(std::process::Command::new(&exe).status().unwrap().code().unwrap())
}

fn decode(v: &str) -> Vec<u8> {
    let mut ret = vec![];
    let mut buf = 0;
    let mut tbl = vec![64; 256];
    for i in 0..64 { tbl[TBL[i] as usize] = i as u8; }
    for (i, c) in v.bytes().filter_map(|c| { let c = tbl[c as usize]; if c < 64 { Some(c) } else { None } }).enumerate() {
        match i % 4 {
            0 => buf = c << 2,
            1 => { ret.push(buf | c >> 4); buf = c << 4; }
            2 => { ret.push(buf | c >> 2); buf = c << 6; }
            3 => ret.push(buf | c),
            _ => unreachable!(),
        }
    }
    ret
}

const TBL: &[u8] = b"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
const BIN: &str = "
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
8KgAAEkBAIf0AAAA
";
0