Pagini recente » Cod sursa (job #105274) | Cod sursa (job #1574655) | Cod sursa (job #2642112) | Cod sursa (job #1390898) | Cod sursa (job #1527797)
#include <stdio.h>
#include <stdlib.h>
#define MAXN 100001
int v[MAXN];
int find(int x){
if(v[x]==x)
return x;
return v[x]=find(v[x]);
}
int main(){
FILE*fi,*fout;
int n,m,x1,y1,i,t,x,y;
fi=fopen("disjoint.in" ,"r");
fout=fopen("disjoint.out" ,"w");
fscanf(fi,"%d%d" ,&n,&m);
for(i=1;i<=n;i++)
v[i]=i;
for(i=0;i<m;i++){
fscanf(fi,"%d%d%d" ,&t,&x,&y);
x1=find(x);
y1=find(y);
if(t==1){
v[x1]=y1;
x1=find(x);
}
else{
if(x1==y1)
fprintf(fout,"DA\n");
else
fprintf(fout,"NU\n");
}
}
fclose(fi);
fclose(fout);
return 0;
}