提出 #36860943


ソースコード 拡げる

// 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".

@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[600005] 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;
}

提出情報

提出日時
問題 F - BOX
ユーザ ssvb
言語 D (GDC 9.2.1)
得点 500
コード長 1418 Byte
結果 AC
実行時間 113 ms
メモリ 16632 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 500 / 500
結果
AC × 1
AC × 72
セット名 テストケース
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 32 ms 15084 KiB
test_01.txt AC 13 ms 15104 KiB
test_02.txt AC 79 ms 14780 KiB
test_03.txt AC 77 ms 15120 KiB
test_04.txt AC 80 ms 15104 KiB
test_05.txt AC 75 ms 14780 KiB
test_06.txt AC 75 ms 15064 KiB
test_07.txt AC 78 ms 15024 KiB
test_08.txt AC 77 ms 15104 KiB
test_09.txt AC 75 ms 15116 KiB
test_10.txt AC 77 ms 14812 KiB
test_11.txt AC 77 ms 15032 KiB
test_12.txt AC 78 ms 15128 KiB
test_13.txt AC 75 ms 15068 KiB
test_14.txt AC 74 ms 14972 KiB
test_15.txt AC 76 ms 15016 KiB
test_16.txt AC 76 ms 14860 KiB
test_17.txt AC 81 ms 15072 KiB
test_18.txt AC 77 ms 15124 KiB
test_19.txt AC 78 ms 14776 KiB
test_20.txt AC 76 ms 15032 KiB
test_21.txt AC 78 ms 15088 KiB
test_22.txt AC 83 ms 15036 KiB
test_23.txt AC 80 ms 15036 KiB
test_24.txt AC 81 ms 14988 KiB
test_25.txt AC 77 ms 14984 KiB
test_26.txt AC 75 ms 15108 KiB
test_27.txt AC 85 ms 14964 KiB
test_28.txt AC 80 ms 15032 KiB
test_29.txt AC 82 ms 14772 KiB
test_30.txt AC 82 ms 15088 KiB
test_31.txt AC 81 ms 15120 KiB
test_32.txt AC 90 ms 15108 KiB
test_33.txt AC 90 ms 15088 KiB
test_34.txt AC 91 ms 15044 KiB
test_35.txt AC 91 ms 14812 KiB
test_36.txt AC 89 ms 15040 KiB
test_37.txt AC 105 ms 15112 KiB
test_38.txt AC 104 ms 15044 KiB
test_39.txt AC 86 ms 15092 KiB
test_40.txt AC 85 ms 15036 KiB
test_41.txt AC 97 ms 14996 KiB
test_42.txt AC 109 ms 15120 KiB
test_43.txt AC 106 ms 15036 KiB
test_44.txt AC 113 ms 14864 KiB
test_45.txt AC 113 ms 15120 KiB
test_46.txt AC 113 ms 15036 KiB
test_47.txt AC 73 ms 14992 KiB
test_48.txt AC 87 ms 15064 KiB
test_49.txt AC 91 ms 15032 KiB
test_50.txt AC 91 ms 15020 KiB
test_51.txt AC 89 ms 15128 KiB
test_52.txt AC 107 ms 15068 KiB
test_53.txt AC 103 ms 15036 KiB
test_54.txt AC 105 ms 14816 KiB
test_55.txt AC 102 ms 14980 KiB
test_56.txt AC 104 ms 15064 KiB
test_57.txt AC 105 ms 15040 KiB
test_58.txt AC 106 ms 15092 KiB
test_59.txt AC 105 ms 14996 KiB
test_60.txt AC 100 ms 14816 KiB
test_61.txt AC 89 ms 14980 KiB
test_62.txt AC 90 ms 14816 KiB
test_63.txt AC 89 ms 15036 KiB
test_64.txt AC 88 ms 15076 KiB
test_65.txt AC 92 ms 15140 KiB
test_66.txt AC 90 ms 15112 KiB
test_67.txt AC 90 ms 14860 KiB
test_68.txt AC 91 ms 15068 KiB
test_69.txt AC 89 ms 15036 KiB
test_70.txt AC 73 ms 16332 KiB
test_71.txt AC 68 ms 16632 KiB