Pagini recente » Cod sursa (job #2617950) | Cod sursa (job #1914001) | Cod sursa (job #3148988) | Cod sursa (job #2966197) | Cod sursa (job #260224)
Cod sursa(job #260224)
#include <cstdio>
#define N 100001
long t[N];
void reuneste(int x,int y)
{while(t[x]!=0)x=t[x];
while(t[y]!=0)y=t[y];
t[y]=x;
}
int acelasi_arbore(int x,int y)
{while(t[x]!=0)x=t[x];
while(t[y]!=0)y=t[y];
if(x==y)return 1;
else return 0;
}
int main ()
{freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
long n,m,i,c,x,y;
scanf("%d%d",&n,&m);
for (i=1;i<=m;i++)
{scanf("%d%d%d",&c,&x,&y);
if(c==1)
{reuneste(x,y);
}
else
{if(acelasi_arbore(x,y))
{printf("DA\n");
}
else
{printf("NU\n");
}
}
}
return 0;
}