Pagini recente » Cod sursa (job #2861770) | Cod sursa (job #1762252) | Cod sursa (job #2827211) | Cod sursa (job #1688284) | Cod sursa (job #794205)
Cod sursa(job #794205)
#include<cstdio>
#define NMax 100005
using namespace std;
int n,p[NMax],rang[NMax];
void unite (int x, int y)
{
if (rang[x]>rang[y])
p[y]=x;
else p[x]=y;
if (rang[x]==rang[y])
rang[y]++;
}
int find (int x)
{
if (x!=p[x])
p[x]=find(p[x]);
return p[x];
}
int main ()
{
int i,cod,x,y,m;
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%d%d",&n,&m);
for (i=1; i<=n; i++)
p[i]=i;
for (i=1; i<=m; i++)
{
scanf("%d%d%d",&cod,&x,&y);
if (cod==1)
unite(find(x),find(y));
else
if (find(x)==find(y))
printf("DA\n");
else printf("NU\n");
}
return 0;
}