結果

問題 No.2290 UnUnion Find
ユーザー rsk0315rsk0315
提出日時 2023-05-06 23:48:01
言語 Rust
(1.77.0 + proconio)
結果
RE  
実行時間 -
コード長 31,467 bytes
コンパイル時間 11,561 ms
コンパイル使用メモリ 383,400 KB
実行使用メモリ 6,948 KB
最終ジャッジ日時 2024-05-03 06:16:55
合計ジャッジ時間 20,057 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

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

ソースコード

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);
                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!("{}", res + 1);
        } else {
            println!("-1");
        }
    }
}
"#;

fn main() {
    let exe = std::env::temp_dir().join("bin130049CE");
    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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
9AAAAA==
";
0