Pagini recente » Cod sursa (job #1615831) | Cod sursa (job #218433) | Cod sursa (job #2474427) | Cod sursa (job #2636080) | Cod sursa (job #1615845)
#include <cstdio>
#define NMax 100005
using namespace std;
int n,m,rad[NMax],rang[NMax],p,x,y;
int root(int x){
while(rad[x] != x)
x = rad[x];
return x;
}
int main()
{
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%d%d",&n,&m);
for(int i = 1; i <= n; ++i){
rad[i] = i;
rang[i] = 1;
}
for(int i = 1; i <= m; ++i){
scanf("%d%d%d",&p,&x,&y);
if(p == 2){
if(root(x) == root(y))
printf("DA\n");
else
printf("NU\n");
}else{
if(rang[rad[x]] > rang[rad[y]]){
rang[rad[x]] += rang[rad[y]];
rad[y] = rad[x];
}else{
rang[rad[y]] += rang[rad[x]];
rad[x] = rad[y];
}
}
}
return 0;
}