Pagini recente » Cod sursa (job #1363127) | Cod sursa (job #387696) | Cod sursa (job #519589) | Cod sursa (job #1458408) | Cod sursa (job #2423142)
#include <iostream>
#include <cstdio>
using namespace std;
const int NMAX = 100001;
int dad[NMAX];
int boss(int slave){
if(dad[slave] != slave)
dad[slave] = boss(dad[slave]);
return dad[slave];
}
int main()
{
FILE *fin, *fout;
int n,m,cod,x,y,i;
fin = fopen("disjoint.in","r");
fout = fopen("disjoint.out","w");
fscanf(fin,"%d %d",&n,&m);
for(i = 1; i <= n; i ++)
dad[i] = i;
for(i = 1; i <= m; i ++){
fscanf(fin,"%d %d %d",&cod,&x,&y);
if(cod == 1)
dad[boss(y)] = boss(x);
else{
if(boss(x) == boss(y))
fprintf(fout,"DA\n");
else
fprintf(fout,"NU\n");
}
}
fclose(fin);
fclose(fout);
return 0;
}