Pagini recente » Cod sursa (job #58671) | Cod sursa (job #2762140) | Cod sursa (job #3163433) | Cod sursa (job #1026028) | Cod sursa (job #2848350)
#include <stdio.h>
#include <stdlib.h>
#define MAX 100001
int v[MAX];
int c;
int fi(int a){
if(v[a]==0){
c=a;
return a;
}
int x=fi(v[a]);
v[a]=c;
return x;
}
int main(){
FILE *fin,*fout;
int m,n,i,p,a,b;
fin=fopen("disjoint.in","r");
fout=fopen("disjoint.out","w");
fscanf(fin,"%d%d",&n,&m);
for(i=1;i<=m;i++){
fscanf(fin,"%d%d%d",&p,&a,&b);
if(p==1){
a=fi(a);
b=fi(b);
if(b!=a)
v[b]=a;
}else{
a=fi(a);
b=fi(b);
if(b==a)
fprintf(fout,"DA\n");
else
fprintf(fout,"NU\n");
}
}
fclose(fin);
fclose(fout);
return 0;
}