Pagini recente » Cod sursa (job #3286778) | Cod sursa (job #3173072) | Cod sursa (job #2863745) | Cod sursa (job #2235179) | Cod sursa (job #3283867)
#include <bits/stdc++.h>
using namespace std;
ifstream in("disjoint.in");
ofstream out("disjoint.out");
const int NMAX = 1e6 + 3;
int n, q;
int t[NMAX];
int find(int node) {
if(t[node] == node) { return node; }
return (t[node] = find(t[node]));
}
void unite(int x, int y) {
t[find(x)] = find(y);
}
int main() {
in >> n >> q;
for(int i = 1; i <= n; i++) {
t[i] = i;
}
for(int i = 1; i <= q; i++) {
int type, x, y;
in >> type >> x >> y;
if(type == 1) {
unite(x, y);
} else {
out << (find(x) == find(y) ? "DA" : "NU") << '\n';
}
}
return 0;
}