Pagini recente » Cod sursa (job #1477091) | Cod sursa (job #2950684) | Cod sursa (job #335026) | Cod sursa (job #2030883) | Cod sursa (job #2075067)
#include <cstdio>
#define nmax 100002
using namespace std;
int cod,parinte[nmax],m,n,i,nod[3],rad[nmax],inod,h[3];
int aux;
int frad (int nod)
{
while (parinte[nod]>0)
{
nod=parinte[nod];
}
return nod;
}
int main()
{
freopen ("disjoint.in","r",stdin);
freopen ("disjoint.out","w",stdout);
scanf ("%d%d",&n,&m);
for (i=1; i<=n; ++i)
{
parinte[i]=-1;
}
for (i=1; i<=m; ++i)
{
scanf ("%d%d%d",&cod,&nod[1],&nod[2]);
for (inod=1; inod<=2; ++inod)
{
rad[inod]=frad(nod[inod]);
}
if (cod==1)
{
if (rad[1]!=rad[2])
{
if (parinte[rad[1]]<parinte[rad[2]])
{
parinte[rad[1]]+=parinte[rad[2]];
parinte[rad[2]]=rad[1];
}
else
{
parinte[rad[2]]+=parinte[rad[1]];
parinte[rad[1]]=rad[2];
}
}
}
else
{
if (rad[1]==rad[2])
printf("DA\n") ;
else
printf ("NU\n") ;
}
}
return 0;
}