Pagini recente » Cod sursa (job #3176203) | Cod sursa (job #743758) | Cod sursa (job #2522024) | Cod sursa (job #648215) | Cod sursa (job #656268)
Cod sursa(job #656268)
#include<stdio.h>
#define N 100001
int v[N],n,m,i,s,x,y,s1,s2;
int reu(int a)
{
int b=a,c;
while(b!=v[b])
b=v[b];
while(a!=v[a])
{
c=v[a];
v[a]=b;
a=b;
}
return a;
}
int main()
{
freopen("disjoint.in", "r", stdin);
freopen("disjoint.out", "w", stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
v[i]=i;
for(i=1;i<=m;i++)
{
scanf("%d%d%d",&s,&x,&y);
if(s==1)
{
s1=reu(x);
s2=reu(y);
v[s2]=s1;}
if(s==2)
{
s1=reu(x);
s2=reu(y);
if(s1==s2)
printf("DA\n");
else printf("NU\n");
}
}
return 0;
}