Pagini recente » Cod sursa (job #2793748) | Cod sursa (job #902203) | Cod sursa (job #992515) | Cod sursa (job #217558) | Cod sursa (job #404483)
Cod sursa(job #404483)
#include<algorithm>
using namespace std;
#define DIM 100005
int r[DIM],t[DIM],n;
int find (int &x)
{
if(x!=t[x])
t[x]=find(t[x]);
return t[x] ;
}
void unite (int x,int y)
{
if(r[x]>r[y])
{
unite(y,x);
return ;
}
r[y]+=r[x];
t[x]=y;
}
int main ()
{
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
int i,m,q,x,y;
scanf("%d%d",&n,&m);
for(i=1;i<=n;++i)
t[i]=i;
for(i=1;i<=m;++i)
{
scanf("%d%d%d",&q,&x,&y);
if(q==1)
unite (find(x),find(y));
else
{
if(find(x)==find(y))
printf("DA\n");
else
printf("NU\n");
}
}
return 0;
}