Pagini recente » Cod sursa (job #1121424) | Cod sursa (job #1694497) | Cod sursa (job #2788114) | Cod sursa (job #1092188) | Cod sursa (job #1807591)
#include<cstdio>
using namespace std;
int sef[100001];
int h[100001];
int fnd(int i)
{
if(sef[i]==i)
{
return i;
}
else
{
sef[i]=fnd(sef[i]);
return sef[i];
}
}
void unin(int i,int j)
{
int a=fnd(i);
int b=fnd(j);
if(h[a]>h[b])
{
sef[b]=a;
}
else
{
if(h[b]>h[a])
{
sef[a]=b;
}
else
{
sef[a]=b;
h[a]++;
}
}
}
int main()
{
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
int n,i,k,x,y,c;
scanf("%d%d",&k,&n);
for(i=1;i<=k;i++)
{
sef[i]=i;
}
for(i=1;i<=n;i++)
{
scanf("%d%d%d",&c,&x,&y);
{
if(c==1)
{
unin(x,y);
}
else
{
if(fnd(x)==fnd(y))
{
printf("DA\n");
}
else
{
printf("NU\n");
}
}
}
}
return 0;
}