Pagini recente » Cod sursa (job #858616) | Cod sursa (job #1804362) | Cod sursa (job #1062071) | Cod sursa (job #2791948) | Cod sursa (job #1019868)
#include<cstdio>
int n,m,v[100001],op,a,b,ra,rb,i;
FILE *f,*g;
int rad(int x){
while(v[x]>0)
x=v[x];
return x;
}
int main(){
f=fopen("disjoint.in","r");
g=fopen("disjoint.out","w");
fscanf(f,"%d%d",&n,&m);
for(i=1;i<=n;i++){
v[i]=-1;
}
for(i=1;i<=m;i++){
fscanf(f,"%d%d%d",&op,&a,&b);
ra=rad(a);
rb=rad(b);
if(op==2){
if(ra==rb)
fprintf(g,"DA\n");
else
fprintf(g,"NU\n");
}
else{
if(v[ra]>v[rb]){
v[ra]+=v[rb];
v[rb]=ra;
}
else{
v[rb]+=v[ra];
v[ra]=rb;
}
}
}
fclose(f);
fclose(g);
return 0;
}