Pagini recente » Cod sursa (job #2808092) | Cod sursa (job #1469040) | Cod sursa (job #1961133) | Cod sursa (job #3181331) | Cod sursa (job #661943)
Cod sursa(job #661943)
#include <stdio.h>
#include <stdlib.h>
int N,M,*p;
int Ancestor(int n)
{
if(p[n]==n)
return n;
else
return p[n]=Ancestor(p[n]);
}
void InitParents()
{
int i;
p=(int*)malloc((N+1)*sizeof(int));
for(i=1;i<=N;i++)
p[i]=i;
}
int main()
{
int o,l,r,pL,pR;
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%d%d",&N,&M);
for(InitParents();M--;)
{
scanf("%d%d%d",&o,&l,&r);
pL=Ancestor(l);
pR=Ancestor(r);
if(o==1)
p[pR]=pL;
else
printf("%s\n",pL==pR?"DA":"NU");
}
free(p);
return 0;
}