Pagini recente » Cod sursa (job #1391416) | Cod sursa (job #3277061) | Cod sursa (job #2745471) | Cod sursa (job #2519060) | Cod sursa (job #2358903)
#include <iostream>
#include <cstdio>
using namespace std;
int boss[100001];
int bossuprem(int x) {
if(x==boss[x])
return x;
else
return boss[x]=bossuprem(boss[x]);
}
int main() {
FILE *fin, *fout;
int n, m, p, 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++)
boss[i]=i;
for(i=1;i<=m;i++) {
fscanf(fin, "%d%d%d",&p,&x,&y);
if(p==1)
boss[bossuprem(y)]=bossuprem(x);
else {
if(bossuprem(x)==bossuprem(y))
fprintf(fout, "DA\n");
else
fprintf(fout, "NU\n");
}
}
fclose( fin );
fclose( fout );
return 0;
}