Pagini recente » Cod sursa (job #3205800) | Cod sursa (job #1164915) | Cod sursa (job #2416918) | Cod sursa (job #2857890) | Cod sursa (job #2058726)
#include <cstdio>
using namespace std;
int n,m,op,x,y,c1,c2;
int t[100001];
int Find(int xx)
{ while(xx!=t[xx]) xx=t[xx];
return xx;
}
int main()
{ FILE *f,*g;
f=fopen("disjoint.in","r");
g=fopen("disjoint.out","w");
fscanf(f,"%d %d",&n,&m);
int i;
for(i=1;i<=n;i++)
t[i]=i;
for(i=1;i<=m;i++)
{ fscanf(f,"%d %d %d",&op,&x,&y);
if(op==1)
{ c1=Find(x);
c2=Find(y);
t[c1]=c2;
}
else
{ c1=Find(x);
c2=Find(y);
if(c1==c2) fprintf(g,"DA\n");
else fprintf(g,"NU\n");
}
}
return 0;
}