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