Submission #1515246
Source Code Expand
import std.algorithm; import std.array; import std.conv; import std.math; import std.range; import std.stdio; import std.string; import std.typecons; int readint() { return readln.chomp.to!int; } int[] readints() { return readln.split.map!(to!int).array; } void main() { auto nq = readints(); int n = nq[0], q = nq[1]; auto uf = new UnionFind(n); for (int i = 0; i < q; i++) { auto xs = readints(); int p = xs[0], a = xs[1], b = xs[2]; switch (p) { case 0: uf.unite(a, b); break; case 1: writeln(uf.isSame(a, b) ? "Yes" : "No"); break; default: break; } } } class UnionFind { private int[] _data; this(int n) { _data = new int[](n + 1); _data[] = -1; } int root(int a) { if (_data[a] < 0) return a; return _data[a] = root(_data[a]); } bool unite(int a, int b) { int rootA = root(a); int rootB = root(b); if (rootA == rootB) return false; _data[rootA] += _data[rootB]; _data[rootB] = rootA; return true; } bool isSame(int a, int b) { return root(a) == root(b); } int size(int a) { return -_data[root(a)]; } }
Submission Info
Submission Time | |
---|---|
Task | B - Union Find |
User | noriok |
Language | D (DMD64 v2.070.1) |
Score | 100 |
Code Size | 1398 Byte |
Status | AC |
Exec Time | 204 ms |
Memory | 3836 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 | 117 ms | 1660 KB |
subtask_01_02.txt | AC | 1 ms | 2428 KB |
subtask_01_03.txt | AC | 173 ms | 2044 KB |
subtask_01_04.txt | AC | 202 ms | 2300 KB |
subtask_01_05.txt | AC | 14 ms | 1276 KB |
subtask_01_06.txt | AC | 15 ms | 1660 KB |
subtask_01_07.txt | AC | 204 ms | 1916 KB |
subtask_01_08.txt | AC | 199 ms | 2300 KB |
subtask_01_09.txt | AC | 1 ms | 256 KB |
subtask_01_10.txt | AC | 1 ms | 636 KB |
subtask_01_11.txt | AC | 171 ms | 1916 KB |
subtask_01_12.txt | AC | 198 ms | 2300 KB |
subtask_01_13.txt | AC | 154 ms | 3836 KB |
subtask_01_14.txt | AC | 2 ms | 764 KB |
subtask_01_15.txt | AC | 177 ms | 1916 KB |
subtask_01_16.txt | AC | 199 ms | 2300 KB |
subtask_01_17.txt | AC | 195 ms | 3836 KB |
subtask_01_18.txt | AC | 202 ms | 2044 KB |