Pagini recente » Cod sursa (job #1874974) | Cod sursa (job #1259916) | Cod sursa (job #2251145) | Cod sursa (job #350392) | Cod sursa (job #1240870)
#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;
scanf("%d %d", &n, &m);
for(i = 1; i <= n; i++) {
p[i] = i;
}
for(i = 1; i <= m; i++) {
scanf("%d %d &d", &cod, &x, &y);
if(cod == 1) {
px = parent(x);
py = parent(y);
p[px] = py;
} else {
if(parent(x) == parent(y)) {
printf("DA\n");
} else {
printf("NU\n");
}
}
}
return 0;
}