提出 #36844595


ソースコード 拡げる

#include <bits/stdc++.h>
using namespace std;

int fa[600005];

void init() {
	memset(fa, -1, sizeof fa);
}

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 now[300005], idx[600005], past[600005];

int main() {
	init();
	int n, q;
	scanf("%d %d", &n, &q);
	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;
		scanf("%d", &tp);
		if (tp == 1) {
			int x, y;
			scanf("%d %d", &x, &y);
			x--, y--;
			unite(now[y], now[x]);
			now[y] = ++cntn;
			past[cntn] = y;
		} else if (tp == 2) {
			int x;
			scanf("%d", &x);
			x--;
			idx[++cnt] = now[x];
		} else {
			int x;
			scanf("%d", &x);
			x--;
			printf("%d\n", past[find_root(idx[x])] + 1);
		}
//		for (int i = 0; i < n; i++) {
//			cerr << now[i] << " ";
//		}
//		cerr << endl;
	}
	return 0;
}

提出情報

提出日時
問題 F - BOX
ユーザ heihei_harvey
言語 C++ (GCC 9.2.1)
得点 500
コード長 1078 Byte
結果 AC
実行時間 87 ms
メモリ 10740 KiB

コンパイルエラー

./Main.cpp: In function ‘int main()’:
./Main.cpp:28:7: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   28 |  scanf("%d %d", &n, &q);
      |  ~~~~~^~~~~~~~~~~~~~~~~
./Main.cpp:38:8: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   38 |   scanf("%d", &tp);
      |   ~~~~~^~~~~~~~~~~
./Main.cpp:41:9: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   41 |    scanf("%d %d", &x, &y);
      |    ~~~~~^~~~~~~~~~~~~~~~~
./Main.cpp:48:9: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   48 |    scanf("%d", &x);
      |    ~~~~~^~~~~~~~~~
./Main.cpp:53:9: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   53 |    scanf("%d", &x);
      |    ~~~~~^~~~~~~~~~

ジャッジ結果

セット名 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 9 ms 5924 KiB
test_01.txt AC 8 ms 6064 KiB
test_02.txt AC 70 ms 6704 KiB
test_03.txt AC 65 ms 6832 KiB
test_04.txt AC 65 ms 6752 KiB
test_05.txt AC 67 ms 6840 KiB
test_06.txt AC 66 ms 6936 KiB
test_07.txt AC 65 ms 6836 KiB
test_08.txt AC 65 ms 6752 KiB
test_09.txt AC 65 ms 6836 KiB
test_10.txt AC 65 ms 6720 KiB
test_11.txt AC 64 ms 6836 KiB
test_12.txt AC 66 ms 6836 KiB
test_13.txt AC 64 ms 6752 KiB
test_14.txt AC 66 ms 6840 KiB
test_15.txt AC 65 ms 6700 KiB
test_16.txt AC 65 ms 6716 KiB
test_17.txt AC 66 ms 6880 KiB
test_18.txt AC 68 ms 6840 KiB
test_19.txt AC 66 ms 6884 KiB
test_20.txt AC 66 ms 6836 KiB
test_21.txt AC 66 ms 6884 KiB
test_22.txt AC 67 ms 6884 KiB
test_23.txt AC 67 ms 6840 KiB
test_24.txt AC 72 ms 6852 KiB
test_25.txt AC 67 ms 6708 KiB
test_26.txt AC 66 ms 6748 KiB
test_27.txt AC 70 ms 6748 KiB
test_28.txt AC 69 ms 7004 KiB
test_29.txt AC 70 ms 6904 KiB
test_30.txt AC 69 ms 6772 KiB
test_31.txt AC 73 ms 6788 KiB
test_32.txt AC 73 ms 7240 KiB
test_33.txt AC 75 ms 7852 KiB
test_34.txt AC 75 ms 7740 KiB
test_35.txt AC 75 ms 7540 KiB
test_36.txt AC 75 ms 7592 KiB
test_37.txt AC 86 ms 9396 KiB
test_38.txt AC 82 ms 9960 KiB
test_39.txt AC 74 ms 7464 KiB
test_40.txt AC 71 ms 6992 KiB
test_41.txt AC 80 ms 8720 KiB
test_42.txt AC 83 ms 10356 KiB
test_43.txt AC 85 ms 10348 KiB
test_44.txt AC 85 ms 10464 KiB
test_45.txt AC 85 ms 10352 KiB
test_46.txt AC 83 ms 10204 KiB
test_47.txt AC 57 ms 10724 KiB
test_48.txt AC 74 ms 10740 KiB
test_49.txt AC 74 ms 10020 KiB
test_50.txt AC 78 ms 10464 KiB
test_51.txt AC 77 ms 9480 KiB
test_52.txt AC 87 ms 8404 KiB
test_53.txt AC 87 ms 8500 KiB
test_54.txt AC 87 ms 8400 KiB
test_55.txt AC 86 ms 8316 KiB
test_56.txt AC 87 ms 8264 KiB
test_57.txt AC 84 ms 8360 KiB
test_58.txt AC 86 ms 8516 KiB
test_59.txt AC 87 ms 8316 KiB
test_60.txt AC 86 ms 8364 KiB
test_61.txt AC 74 ms 7872 KiB
test_62.txt AC 73 ms 7868 KiB
test_63.txt AC 78 ms 8124 KiB
test_64.txt AC 75 ms 7896 KiB
test_65.txt AC 74 ms 8060 KiB
test_66.txt AC 73 ms 8056 KiB
test_67.txt AC 75 ms 7896 KiB
test_68.txt AC 76 ms 8004 KiB
test_69.txt AC 74 ms 8012 KiB
test_70.txt AC 62 ms 9960 KiB
test_71.txt AC 61 ms 9836 KiB