Submission #420231


Source Code Expand

#include <bits/stdc++.h>

#define REP(i,n) for(int i=0;i<(int)(n);i++)
#define ALL(x) (x).begin(),(x).end()

using namespace std;

struct UnionFind {
  vector<int> parent;
  UnionFind (int n) : parent(n, -1) {}
  int root(int x) { return parent[x] < 0 ? x : parent[x] = root(parent[x]); }
  bool merge(int x, int y) {
    x = root(x); y = root(y);
    if (x == y) return false;
    if (parent[y] < parent[x]) swap(x, y);
    if (parent[x] == parent[y]) --parent[x];
    parent[y] = x;
    return true;
  }
};

int main() {
  int N, Q;
  cin >> N >> Q;
  UnionFind uf(N);
  REP(i,Q) {
    int p, a, b;
    cin >> p >> a >> b;
    if (p == 0) uf.merge(a, b);
    else {
      int x = uf.root(a), y = uf.root(b);
      cout << (x == y ? "Yes" : "No") << endl;
    }
  }
  return 0;
}

Submission Info

Submission Time
Task B - Union Find
User asi1024
Language C++11 (GCC 4.9.2)
Score 100
Code Size 817 Byte
Status AC
Exec Time 929 ms
Memory 1308 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 26 ms 808 KB
subtask_01_01.txt AC 513 ms 928 KB
subtask_01_02.txt AC 25 ms 1308 KB
subtask_01_03.txt AC 720 ms 804 KB
subtask_01_04.txt AC 869 ms 1136 KB
subtask_01_05.txt AC 71 ms 808 KB
subtask_01_06.txt AC 74 ms 1304 KB
subtask_01_07.txt AC 769 ms 808 KB
subtask_01_08.txt AC 929 ms 1180 KB
subtask_01_09.txt AC 24 ms 924 KB
subtask_01_10.txt AC 24 ms 1128 KB
subtask_01_11.txt AC 707 ms 924 KB
subtask_01_12.txt AC 856 ms 1304 KB
subtask_01_13.txt AC 632 ms 796 KB
subtask_01_14.txt AC 29 ms 1188 KB
subtask_01_15.txt AC 746 ms 924 KB
subtask_01_16.txt AC 844 ms 1244 KB
subtask_01_17.txt AC 627 ms 1188 KB
subtask_01_18.txt AC 639 ms 1308 KB