Submission

Status:

[-SSSSSSSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: Bune

Problemset: ซื้อขายหุ้นซีเค

Language: cpp

Time: 0.002 second

Submitted On: 2026-03-04 11:15:44

#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;

#define fastio ios_base::sync_with_stdio(false); cin.tie(nullptr);
#define ll long long
#define pb push_back
#define all(x) (x).begin(), (x).end()

vector<int> pa(100001);

int findRoot(int n) {
  if (n == pa[n]) {
    return n;
  }

  return pa[n] = findRoot(pa[n]);
}

void U(int a, int b) {
  int A = findRoot(a);
  int B = findRoot(b);
  if (A != B) {
    pa[B] = A;
  }

}

int main() {
  fastio
  
  int N, M;
  cin >> N >> M;

  for (int i = 1; i <= N; i++) {
    pa[i] = i;
  }

  for (int i = 0; i < M; i++) {
    int u, v;
    cin >> u >> v;
    U(u, v);
  }

  int Q;
  cin >> Q;

  for (int i = 0; i < Q; i++) {
    int a, b;
    cin >> a >> b;
    if (findRoot(a) == findRoot(b)){
      cout << "true\n";
    }
    else {
      cout << "false\n";
    }
  }

  return 0;
}