Pagini recente » Cod sursa (job #1713428) | Cod sursa (job #2428886) | Cod sursa (job #191460) | Cod sursa (job #2845771) | Cod sursa (job #3237293)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
const int MAX_NUM = 1e5;
int n, m, parent[MAX_NUM], treeRank[MAX_NUM];
int find(int x) {
if (parent[x] != x) {
parent[x] = find(parent[x]);
}
return parent[x];
}
void unify(int x, int y) {
parent[y] = x;
}
int main() {
fin >> n >> m;
for (int i = 1; i <= n; ++i) {
parent[i] = i;
treeRank[i] = 1;
}
for (int i = 0; i < m; ++i) {
int x, y, cod;
fin >> cod >> x >> y;
if (cod == 2) {
if (find(x) == find(y)) {
fout << "DA\n";
} else {
fout << "NU\n";
}
} else {
unify(find(x), find(y));
}
}
return 0;
}