Submission #68773360


Source Code Expand

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

const int N = 2e5 + 5;

int n, q;
int fa[N], rank_[N];
int blk[N], col[N];

int find(int x) {
	return fa[x] == x ? x : fa[x] = find(fa[x]);
}

void unite(int u, int v) {
	u = find(u), v = find(v);
	if (u == v) {
		return;
	}
	if (rank_[u] < rank_[v]) {
		fa[u] = v;
		blk[v] += blk[u];
	} else if (rank_[u] > rank_[v]) {
		fa[v] = u;
		blk[u] += blk[v];
	} else {
		fa[v] = u;
		blk[u] += blk[v];
		rank_[u]++;
	}
}

int main() {
	scanf("%d%d", &n, &q);
	for (int i = 1; i <= n; i++) {
		fa[i] = i;
		rank_[i] = 0;
		blk[i] = 0;
		col[i] = 0;
	}
	while (q--) {
		int t;
		scanf("%d", &t);
		if (t == 1) {
			int u, v;
			scanf("%d%d", &u, &v);
			unite(u, v);
		} else if (t == 2) {
			int v;
			scanf("%d", &v);
			int root = find(v);
			if (col[v] == 0) {
				col[v] = 1;
				blk[root]++;
			} else {
				col[v] = 0;
				blk[root]--;
			}
		} else {
			int v;
			scanf("%d", &v);
			int root = find(v);
			if (blk[root] > 0) {
				printf("Yes\n");
			} else {
				printf("No\n");
			}
		}
	}
	return 0;
}

Submission Info

Submission Time
Task E - Reachability Query
User MhxMa
Language C++ 20 (gcc 12.2)
Score 450
Code Size 1122 Byte
Status AC
Exec Time 155 ms
Memory 6980 KiB

Compile Error

Main.cpp: In function ‘int main()’:
Main.cpp:33:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   33 |         scanf("%d%d", &n, &q);
      |         ~~~~~^~~~~~~~~~~~~~~~
Main.cpp:42:22: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   42 |                 scanf("%d", &t);
      |                 ~~~~~^~~~~~~~~~
Main.cpp:45:30: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   45 |                         scanf("%d%d", &u, &v);
      |                         ~~~~~^~~~~~~~~~~~~~~~
Main.cpp:49:30: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   49 |                         scanf("%d", &v);
      |                         ~~~~~^~~~~~~~~~
Main.cpp:60:30: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   60 |                         scanf("%d", &v);
      |                         ~~~~~^~~~~~~~~~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 450 / 450
Status
AC × 1
AC × 85
Set Name Test Cases
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, test_72.txt, test_73.txt, test_74.txt, test_75.txt, test_76.txt, test_77.txt, test_78.txt, test_79.txt, test_80.txt, test_81.txt, test_82.txt, test_83.txt, test_84.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 3656 KiB
test_01.txt AC 1 ms 3864 KiB
test_02.txt AC 1 ms 3572 KiB
test_03.txt AC 64 ms 3548 KiB
test_04.txt AC 64 ms 3684 KiB
test_05.txt AC 62 ms 3624 KiB
test_06.txt AC 80 ms 3540 KiB
test_07.txt AC 78 ms 3696 KiB
test_08.txt AC 89 ms 3696 KiB
test_09.txt AC 71 ms 3768 KiB
test_10.txt AC 78 ms 3700 KiB
test_11.txt AC 75 ms 3592 KiB
test_12.txt AC 72 ms 3680 KiB
test_13.txt AC 70 ms 3576 KiB
test_14.txt AC 79 ms 3636 KiB
test_15.txt AC 84 ms 3528 KiB
test_16.txt AC 69 ms 3644 KiB
test_17.txt AC 70 ms 3636 KiB
test_18.txt AC 77 ms 3692 KiB
test_19.txt AC 79 ms 3640 KiB
test_20.txt AC 66 ms 3704 KiB
test_21.txt AC 130 ms 6728 KiB
test_22.txt AC 137 ms 6792 KiB
test_23.txt AC 140 ms 6704 KiB
test_24.txt AC 134 ms 6804 KiB
test_25.txt AC 136 ms 6756 KiB
test_26.txt AC 133 ms 6780 KiB
test_27.txt AC 139 ms 6784 KiB
test_28.txt AC 133 ms 6976 KiB
test_29.txt AC 137 ms 6736 KiB
test_30.txt AC 143 ms 6664 KiB
test_31.txt AC 146 ms 6804 KiB
test_32.txt AC 145 ms 6792 KiB
test_33.txt AC 147 ms 6652 KiB
test_34.txt AC 144 ms 6868 KiB
test_35.txt AC 147 ms 6876 KiB
test_36.txt AC 148 ms 6744 KiB
test_37.txt AC 149 ms 6968 KiB
test_38.txt AC 148 ms 6768 KiB
test_39.txt AC 155 ms 6800 KiB
test_40.txt AC 139 ms 6620 KiB
test_41.txt AC 151 ms 6644 KiB
test_42.txt AC 149 ms 6800 KiB
test_43.txt AC 149 ms 6664 KiB
test_44.txt AC 151 ms 6872 KiB
test_45.txt AC 147 ms 6744 KiB
test_46.txt AC 147 ms 6868 KiB
test_47.txt AC 146 ms 6656 KiB
test_48.txt AC 141 ms 6800 KiB
test_49.txt AC 140 ms 6868 KiB
test_50.txt AC 143 ms 6704 KiB
test_51.txt AC 140 ms 6736 KiB
test_52.txt AC 143 ms 6972 KiB
test_53.txt AC 141 ms 6684 KiB
test_54.txt AC 147 ms 6636 KiB
test_55.txt AC 143 ms 6620 KiB
test_56.txt AC 138 ms 6796 KiB
test_57.txt AC 134 ms 6976 KiB
test_58.txt AC 135 ms 6872 KiB
test_59.txt AC 137 ms 6980 KiB
test_60.txt AC 144 ms 6760 KiB
test_61.txt AC 111 ms 6660 KiB
test_62.txt AC 118 ms 6800 KiB
test_63.txt AC 115 ms 6780 KiB
test_64.txt AC 115 ms 6808 KiB
test_65.txt AC 114 ms 6796 KiB
test_66.txt AC 111 ms 6660 KiB
test_67.txt AC 109 ms 6780 KiB
test_68.txt AC 118 ms 6720 KiB
test_69.txt AC 98 ms 4244 KiB
test_70.txt AC 119 ms 5448 KiB
test_71.txt AC 95 ms 4220 KiB
test_72.txt AC 140 ms 6696 KiB
test_73.txt AC 118 ms 5472 KiB
test_74.txt AC 121 ms 5884 KiB
test_75.txt AC 113 ms 5192 KiB
test_76.txt AC 89 ms 5108 KiB
test_77.txt AC 135 ms 6728 KiB
test_78.txt AC 150 ms 6624 KiB
test_79.txt AC 144 ms 6660 KiB
test_80.txt AC 144 ms 6700 KiB
test_81.txt AC 140 ms 6744 KiB
test_82.txt AC 141 ms 6620 KiB
test_83.txt AC 137 ms 6800 KiB
test_84.txt AC 145 ms 6700 KiB