Submission #7570184
Source Code Expand
#include <bits/stdc++.h> using namespace std; using i64 = int_fast64_t; using ui64 = uint_fast64_t; #define REP(i, n) for (i64 (i) = 0; (i) < (n); ++(i)) #define FOR(i, a, b) for (i64 (i) = (a); (i) < (b); ++(i)) struct abracadabra{ abracadabra(){ cin.tie(0); ios::sync_with_stdio(0); cout << fixed << setprecision(20); }; } ABRACADABRA; struct UnionFind { vector<int> parent; int __size; UnionFind(int size_) : parent(size_, -1), __size(size_) {} bool unite(int x, int y) { if ((x = find(x)) != (y = find(y))) { if (parent[y] < parent[x]) swap(x, y); parent[x] += parent[y]; parent[y] = x; __size--; return true; } return false; } bool same(int x, int y){return find(x) == find(y); } int find(int x) { return parent[x] < 0 ? x : parent[x] = find(parent[x]); } int size(int x) { return -parent[find(x)]; } int size() { return __size; } }; int N, Q; signed main() { cin >> N >> Q; UnionFind uf(N); while (Q--) { int P, A, B; cin >> P >> A >> B; if (P == 0) uf.unite(A, B); else cout << (uf.same(A, B) ? "Yes" : "No") << endl; } }
Submission Info
Submission Time | |
---|---|
Task | B - Union Find |
User | morio__ |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1277 Byte |
Status | AC |
Exec Time | 358 ms |
Memory | 1280 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 100 / 100 | ||||
Status |
|
|
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 | 213 ms | 640 KB |
subtask_01_02.txt | AC | 1 ms | 640 KB |
subtask_01_03.txt | AC | 344 ms | 1024 KB |
subtask_01_04.txt | AC | 351 ms | 1280 KB |
subtask_01_05.txt | AC | 19 ms | 256 KB |
subtask_01_06.txt | AC | 19 ms | 640 KB |
subtask_01_07.txt | AC | 358 ms | 896 KB |
subtask_01_08.txt | AC | 355 ms | 1280 KB |
subtask_01_09.txt | AC | 1 ms | 256 KB |
subtask_01_10.txt | AC | 1 ms | 640 KB |
subtask_01_11.txt | AC | 349 ms | 896 KB |
subtask_01_12.txt | AC | 356 ms | 1280 KB |
subtask_01_13.txt | AC | 286 ms | 768 KB |
subtask_01_14.txt | AC | 2 ms | 640 KB |
subtask_01_15.txt | AC | 344 ms | 896 KB |
subtask_01_16.txt | AC | 347 ms | 1280 KB |
subtask_01_17.txt | AC | 207 ms | 1024 KB |
subtask_01_18.txt | AC | 204 ms | 1024 KB |