Pagini recente » Borderou de evaluare (job #2612040) | Cod sursa (job #3334877) | Cod sursa (job #3334236) | Cod sursa (job #473571) | Cod sursa (job #2846737)
#include <stdio.h>
#include <stdlib.h>
#define MAXN 100000
#define MAXN 100000
int p[MAXN];
int findBoss(int x){
if(p[x] == x)
return x;
p[x] = findBoss(p[x]);
return p[x];
}
int main(){
int n,x,y,i,t,q;
FILE *fin, *fout;
fin = fopen("disjoint.in","r");
fscanf(fin,"%d%d",&n,&q);
for(i=0;i<n;i++){
p[i] = i;
}
fout = fopen("disjoint.out","w");
for(i = 0; i < q; i++){
fscanf(fin,"%d%d%d",&t,&x,&y);
if(t == 1){
p[findBoss(x)] = y;
} else{
if(findBoss(x) == findBoss(y))
fprintf(fout,"DA\n");
else
fprintf(fout,"NU\n");
}
}
fclose(fin);
fclose(fout);
return 0;
}