Submission #5486484


Source Code Expand

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

const int MAX_N = 200005;
int N;
int Q;
int p;
int a;
int b;

int par[MAX_N]; //親
int tree_rank[MAX_N]; //木の深さ

//n要素で初期化
void init(int n) {
  for (int i = 0; i < n; i++) {
    par[i] = i;
    tree_rank[i] = 0;
  }
}

//木の根を求める
int find(int x) {
  if (par[x] == x) {
    return x;
  }
  else {
    return par[x] = find(par[x]);
  }
}

//xとyに属する集合を併合
void unite(int x, int y) {
  x = find(x);
  y = find(y);
  if (x == y) return;

  if (tree_rank[x] < tree_rank[y]) {
    par[x] = y;
  }
  else {
    par[y] = x;
    if (tree_rank[x] == tree_rank[y]) tree_rank[x]++;
  }
}

//xとyが同じ集合に属するか判定
bool same(int x, int y) {
  return find(x) == find(y);
}


int main() {
  init(Q);

  cin >> N >> Q;
  for (int i = 0; i < Q; i++) {
    cin >> p >> a >> b;
    if (p == 0) {
      unite(a, b);
    }
    if (p == 1) {
      bool frag = same(a, b);
      if (frag) cout << "Yes" << endl;
      else cout << "No" << endl;
    }
  }
}

Submission Info

Submission Time
Task B - Union Find
User fuminiton
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1119 Byte
Status WA
Exec Time 506 ms
Memory 1408 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 100
Status
WA × 1
AC × 2
WA × 17
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 WA 1 ms 256 KB
subtask_01_01.txt WA 297 ms 768 KB
subtask_01_02.txt WA 1 ms 256 KB
subtask_01_03.txt AC 429 ms 1024 KB
subtask_01_04.txt WA 500 ms 1408 KB
subtask_01_05.txt AC 26 ms 256 KB
subtask_01_06.txt WA 28 ms 640 KB
subtask_01_07.txt WA 453 ms 1024 KB
subtask_01_08.txt WA 498 ms 1408 KB
subtask_01_09.txt WA 1 ms 256 KB
subtask_01_10.txt WA 1 ms 384 KB
subtask_01_11.txt WA 433 ms 1024 KB
subtask_01_12.txt WA 506 ms 1408 KB
subtask_01_13.txt WA 391 ms 896 KB
subtask_01_14.txt WA 3 ms 640 KB
subtask_01_15.txt WA 440 ms 1024 KB
subtask_01_16.txt WA 496 ms 1408 KB
subtask_01_17.txt WA 345 ms 1024 KB
subtask_01_18.txt WA 338 ms 1024 KB