Submission #4084224


Source Code Expand

#include "bits/stdc++.h"

using namespace std;

struct unionfind
{
	vector<int> par, rank;
	unionfind(int n) : par(n), rank(n, 1)
	{
		for (int i = 0; i < n; i++)
		{
			par[i] = i;
		}
	}

	bool same(int u, int v)
	{
		return root(u) == root(v);
	}

	void unite(int u, int v)
	{
		if (same(u, v)) return ;
		u = root(u), v = root(v);
		if (rank[u] > rank[v]) swap(u, v);
		par[u] = v;
		if (rank[u] == rank[v]) rank[v]++;
	}

	int root(int v)
	{
		if (par[v] == v) return v;
		return par[v] = root(par[v]);
	}
};

void solve()
{
	int N, Q;
	cin >> N >> Q;
	unionfind uf(N);
	while (Q--)
	{
		int p, a, b;
		cin >> p >> a >> b;
		if (p)
		{
			cout << (uf.same(a, b) ? "Yes" : "No") << endl;
		}
		else
		{
			uf.unite(a, b);
		}
	}
}

int main(void)
{
	solve();
	//cout << "yui(*-v・)yui" << endl;
	return 0;
}

Submission Info

Submission Time
Task B - Union Find
User sifi_border
Language C++14 (GCC 5.4.1)
Score 100
Code Size 875 Byte
Status AC
Exec Time 478 ms
Memory 1664 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 1
AC × 19
Set Name Test Cases
Sample 00_sample_01.txt
All 00_sample_01.txt, subtask_01_01.txt, subtask_01_02.txt, subtask_01_03.txt, subtask_01_04.txt, subtask_01_05.txt, subtask_01_06.txt, subtask_01_07.txt, subtask_01_08.txt, subtask_01_09.txt, subtask_01_10.txt, subtask_01_11.txt, subtask_01_12.txt, subtask_01_13.txt, subtask_01_14.txt, subtask_01_15.txt, subtask_01_16.txt, subtask_01_17.txt, subtask_01_18.txt
Case Name Status Exec Time Memory
00_sample_01.txt AC 1 ms 256 KB
subtask_01_01.txt AC 273 ms 640 KB
subtask_01_02.txt AC 2 ms 1024 KB
subtask_01_03.txt AC 412 ms 1024 KB
subtask_01_04.txt AC 463 ms 1664 KB
subtask_01_05.txt AC 24 ms 256 KB
subtask_01_06.txt AC 26 ms 1024 KB
subtask_01_07.txt AC 430 ms 768 KB
subtask_01_08.txt AC 462 ms 1664 KB
subtask_01_09.txt AC 1 ms 256 KB
subtask_01_10.txt AC 2 ms 1024 KB
subtask_01_11.txt AC 415 ms 896 KB
subtask_01_12.txt AC 456 ms 1664 KB
subtask_01_13.txt AC 387 ms 768 KB
subtask_01_14.txt AC 3 ms 1024 KB
subtask_01_15.txt AC 422 ms 768 KB
subtask_01_16.txt AC 478 ms 1664 KB
subtask_01_17.txt AC 308 ms 1408 KB
subtask_01_18.txt AC 310 ms 1408 KB