Pagini recente » Cod sursa (job #3249592) | Cod sursa (job #2609527) | Cod sursa (job #3266173) | Cod sursa (job #2096701) | Cod sursa (job #909806)
Cod sursa(job #909806)
#include<cstdio>
long int tata[100005],n,m,x,y,t,i,tip,t1,t2;
void re()
{
t=x;
while(t!=tata[t])t=tata[t];
t1=t;
t=y;
while(t!=tata[t])t=tata[t];
t2=t;
t=y;
while(t!=tata[t]){
t2=t;
t=tata[t];
tata[t2]=t1;
}
tata[t]=t1;
}
void ver()
{
t=x;
while(t!=tata[t])t=tata[t];
t1=t;
t=y;
while(t!=tata[t])t=tata[t];
t2=t;
if(t1==t2)printf("DA\n");
else printf("NU\n");
}
int main()
{
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%ld %ld",&n,&m);
for(i=1;i<=n;i++)tata[i]=i;
for(i=1;i<=m;i++){
scanf("%ld %ld %ld",&tip,&x,&y);
if(tip==1)re();
else ver();
}
return 0;
}