Pagini recente » Cod sursa (job #854001) | Cod sursa (job #769003) | Cod sursa (job #2553286) | Cod sursa (job #911171) | Cod sursa (job #1147240)
#include<cstdio>
int n,m,i,j,d[100100],op,a,b,na,nb;
FILE *f,*g;
int rad(int r){
while(d[r]>0){
r=d[r];
}
return r;
}
int main(){
f=fopen("disjoint.in","r");
g=fopen("disjoint.out","w");
fscanf(f,"%d%d",&n,&m);
for(i=1;i<=n;i++){
d[i]=-1;
}
for(i=1;i<=m;i++){
fscanf(f,"%d%d%d",&op,&a,&b);
if(op==2){
na=rad(a);
nb=rad(b);
if(na==nb)
fprintf(g,"DA\n");
else
fprintf(g,"NU\n");
}
else{
na=rad(a);
nb=rad(b);
if(d[na]>d[nb]){
d[na]=d[na]+d[nb];
d[nb]=na;
}
else{
d[nb]=d[nb]+d[na];
d[na]=nb;
}
}
}
fclose(f);
fclose(g);
return 0;
}