Pagini recente » Cod sursa (job #1520146) | Cod sursa (job #211083) | Cod sursa (job #2752271) | Diferente pentru home intre reviziile 446 si 445 | Cod sursa (job #1887079)
#include<stdio.h>
int t[100001];
int dad ( int nod ){
if(t[nod]==nod)
return nod;
return t[nod]=dad(t[nod]);
}
void joint ( int a , int b ){
int ta,tb;
ta=dad(a);
tb=dad(b);
t[ta]=tb;
}
int main(){
int n,m,c,x,y,i;
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
t[i]=i;
for(i=1;i<=m;i++){
scanf("%d%d%d",&c,&x,&y);
if(c==1)
joint(x,y);
else{
if(dad(x)==dad(y))
printf("DA\n");
else
printf("NU\n");
}
}
return 0;
}