Pagini recente » Cod sursa (job #2436166) | Cod sursa (job #2096015) | Cod sursa (job #2449717) | Cod sursa (job #849415) | Cod sursa (job #1165658)
#include<stdio.h>
#define nmax 100005
int x, xx, y, op, r, xurm, m, i, n;
int t[nmax];
int rad(int x)
{
xx=x;
while (t[x]!=x)
x=t[x];
r=x;
x=xx;
while (t[x]!=x)
{
xurm=t[x];
t[x]=r;
x=xurm;
}
return r;
}
int main()
{
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%ld %ld",&n,&m);
for(i=1;i<=n;i++)
t[i]=i;
for (i=1;i<=m;i++)
{
scanf("%ld %ld %ld",&op,&x,&y);
if (op==1)
{
x=rad(x); y=rad(y);
t[x]=y;
}
else
{
if (rad(x)==rad(y))
printf("DA\n");
else
printf("NU\n");
}
}
return 0;
}