Pagini recente » Cod sursa (job #1024335) | Cod sursa (job #3126810) | Cod sursa (job #14160) | Cod sursa (job #3157401) | Cod sursa (job #389125)
Cod sursa(job #389125)
#include <cstdio>
#define file_in "disjoint.in"
#define file_out "disjoint.out"
int n,m,tata[101001],x,y,tip,a,b;
int find(int x)
{
while (tata[x]!=x) x=tata[x];
return x;
}
void uneste(int i, int j)
{
tata[i]=j;
}
int main()
{
int i;
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%d %d", &n, &m);
for (i=1;i<=n;++i)
tata[i]=i;
while(m--)
{
scanf("%d %d %d", &tip, &x, &y);
a=find(x);
b=find(y);
if (tip==1)
{
uneste(x,y);
}
else
{
if (a!=b)
printf("NU\n");
else
printf("DA\n");
}
}
fclose(stdin);
fclose(stdout);
return 0;
}