提出 #36861127
ソースコード 拡げる
// Not my code! Taken from https://atcoder.jp/contests/abc279/submissions/36844595
// and directly line by line converted to D language. Added "@safe:" directive
// at the top, moved "scanf" into a small @trusted wrapper function and replaced
// "printf" with "writeln".
//
// The size of the "idx" array is deliberately reduced from 600005 to 300005
// for testing whether this bug can be caught by runtime bounds checking
// enabled in the parts of code that are annotated as @safe.
@safe:
import std.stdio, core.stdc.stdio;
int[600005] fa;
void init() {
fa[] = -1;
}
int find_root(int x) {
if (fa[x] == -1) {
return x;
}
return fa[x] = find_root(fa[x]);
}
void unite(int x, int y) {
if (find_root(x) != find_root(y) && find_root(x) != -1) {
fa[find_root(x)] = find_root(y);
}
}
int[300005] now;
int[300005] idx;
int[600005] past;
int main() {
init();
int n = readint;
int q = readint;
for (int i = 0; i < n; i++) {
now[i] = i;
past[i] = i;
idx[i] = i;
}
int cntn = n - 1;
int cnt = n - 1;
while (q--) {
int tp = readint;
if (tp == 1) {
int x = readint;
int y = readint;
x--, y--;
unite(now[y], now[x]);
now[y] = ++cntn;
past[cntn] = y;
} else if (tp == 2) {
int x = readint;
x--;
idx[++cnt] = now[x];
} else {
int x = readint;
x--;
writeln(past[find_root(idx[x])] + 1);
}
}
return 0;
}
int readint() @trusted {
int val;
scanf("%d", &val); // "scanf" is not @safe and needs a @trusted wrapper
return val;
}
提出情報
ジャッジ結果
| セット名 | Sample | All | ||||||
|---|---|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 0 / 500 | ||||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample_01.txt |
| All | sample_01.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt, test_48.txt, test_49.txt, test_50.txt, test_51.txt, test_52.txt, test_53.txt, test_54.txt, test_55.txt, test_56.txt, test_57.txt, test_58.txt, test_59.txt, test_60.txt, test_61.txt, test_62.txt, test_63.txt, test_64.txt, test_65.txt, test_66.txt, test_67.txt, test_68.txt, test_69.txt, test_70.txt, test_71.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| sample_01.txt | AC | 31 ms | 13896 KiB |
| test_01.txt | AC | 13 ms | 13932 KiB |
| test_02.txt | AC | 74 ms | 13864 KiB |
| test_03.txt | AC | 74 ms | 13804 KiB |
| test_04.txt | AC | 76 ms | 13800 KiB |
| test_05.txt | AC | 73 ms | 13684 KiB |
| test_06.txt | AC | 73 ms | 13684 KiB |
| test_07.txt | AC | 71 ms | 13888 KiB |
| test_08.txt | AC | 73 ms | 13936 KiB |
| test_09.txt | AC | 74 ms | 13932 KiB |
| test_10.txt | AC | 72 ms | 13944 KiB |
| test_11.txt | AC | 71 ms | 13792 KiB |
| test_12.txt | AC | 73 ms | 13944 KiB |
| test_13.txt | AC | 70 ms | 13812 KiB |
| test_14.txt | AC | 80 ms | 13948 KiB |
| test_15.txt | AC | 71 ms | 13688 KiB |
| test_16.txt | AC | 71 ms | 13948 KiB |
| test_17.txt | AC | 74 ms | 13892 KiB |
| test_18.txt | AC | 73 ms | 13816 KiB |
| test_19.txt | AC | 73 ms | 13920 KiB |
| test_20.txt | AC | 73 ms | 13804 KiB |
| test_21.txt | AC | 73 ms | 13792 KiB |
| test_22.txt | AC | 75 ms | 13852 KiB |
| test_23.txt | AC | 78 ms | 13596 KiB |
| test_24.txt | AC | 77 ms | 13860 KiB |
| test_25.txt | AC | 77 ms | 13792 KiB |
| test_26.txt | AC | 72 ms | 13912 KiB |
| test_27.txt | AC | 78 ms | 13816 KiB |
| test_28.txt | AC | 77 ms | 13860 KiB |
| test_29.txt | AC | 78 ms | 13800 KiB |
| test_30.txt | AC | 83 ms | 13860 KiB |
| test_31.txt | AC | 79 ms | 13684 KiB |
| test_32.txt | AC | 83 ms | 13800 KiB |
| test_33.txt | AC | 87 ms | 13680 KiB |
| test_34.txt | AC | 86 ms | 13932 KiB |
| test_35.txt | AC | 83 ms | 13932 KiB |
| test_36.txt | AC | 84 ms | 13864 KiB |
| test_37.txt | RE | 101 ms | 17324 KiB |
| test_38.txt | RE | 53 ms | 17284 KiB |
| test_39.txt | AC | 84 ms | 13860 KiB |
| test_40.txt | AC | 79 ms | 13936 KiB |
| test_41.txt | AC | 92 ms | 13808 KiB |
| test_42.txt | RE | 29 ms | 17324 KiB |
| test_43.txt | RE | 30 ms | 17208 KiB |
| test_44.txt | RE | 30 ms | 17124 KiB |
| test_45.txt | RE | 29 ms | 17240 KiB |
| test_46.txt | RE | 30 ms | 17256 KiB |
| test_47.txt | RE | 30 ms | 17324 KiB |
| test_48.txt | AC | 91 ms | 13896 KiB |
| test_49.txt | AC | 87 ms | 13632 KiB |
| test_50.txt | AC | 87 ms | 13868 KiB |
| test_51.txt | AC | 86 ms | 13800 KiB |
| test_52.txt | AC | 98 ms | 13604 KiB |
| test_53.txt | AC | 102 ms | 13916 KiB |
| test_54.txt | AC | 99 ms | 13940 KiB |
| test_55.txt | AC | 98 ms | 13868 KiB |
| test_56.txt | AC | 95 ms | 13864 KiB |
| test_57.txt | AC | 98 ms | 13872 KiB |
| test_58.txt | AC | 102 ms | 13868 KiB |
| test_59.txt | AC | 99 ms | 13852 KiB |
| test_60.txt | AC | 99 ms | 13860 KiB |
| test_61.txt | AC | 84 ms | 13860 KiB |
| test_62.txt | AC | 81 ms | 13936 KiB |
| test_63.txt | AC | 85 ms | 13920 KiB |
| test_64.txt | AC | 82 ms | 13824 KiB |
| test_65.txt | AC | 85 ms | 13692 KiB |
| test_66.txt | AC | 84 ms | 13948 KiB |
| test_67.txt | AC | 83 ms | 13940 KiB |
| test_68.txt | AC | 84 ms | 13876 KiB |
| test_69.txt | AC | 85 ms | 13820 KiB |
| test_70.txt | AC | 67 ms | 15404 KiB |
| test_71.txt | AC | 67 ms | 15500 KiB |