Pagini recente » Cod sursa (job #230509) | Cod sursa (job #2051014) | Cod sursa (job #2219901) | Cod sursa (job #1880118) | Cod sursa (job #1240869)
#include<iostream>
using namespace std;
int p[100001], n, m;
int parent(int x) {
int par, t;
par = t = x;
while(par != p[par]) {
par = p[par];
}
// euristica
while(x != p[x]) {
t = p[x];
p[x] = par;
x = t;
}
return par;
}
int main() {
freopen("disjoint.in", "r", stdin);
freopen("disjoint.out", "w", stdout);
int i, cod, x, y, px, py;
cin >> n >> m;
for(i = 1; i <= n; i++) {
p[i] = i;
}
for(i = 1; i <= m; i++) {
cin >> cod >> x >> y;
if(cod == 1) {
px = parent(x);
py = parent(y);
p[px] = py;
} else {
if(parent(x) == parent(y)) {
cout << "DA\n";
} else {
cout << "NU\n";
}
}
}
return 0;
}