Pagini recente » Cod sursa (job #1860855) | Cod sursa (job #3041923) | Cod sursa (job #1129913)
#include<cstdio>
int n,q,i,j,t[100100],op,a,b,ta,tb;
FILE *f,*g;
int tata(int x){
while(t[x]>0){
x=t[x];
}
return x;
}
int main(){
f=fopen("disjoint.in","r");
g=fopen("disjoint.out","w");
fscanf(f,"%d%d",&n,&q);
for(i=1;i<=n;i++){
t[i]=-1;
}
for(i=1;i<=q;i++){
fscanf(f,"%d%d%d",&op,&a,&b);
ta=tata(a);
tb=tata(b);
if(op==1){
if(t[ta]>t[tb]){
t[ta]+=t[tb];
t[ta]=tb;
}
else{
t[tb]+=t[ta];
t[tb]=ta;
}
}
else{
if(ta==tb)
fprintf(g,"DA\n");
else
fprintf(g,"NU\n");
}
}
fclose(f);
fclose(g);
return 0;
}