Pagini recente » Cod sursa (job #824186) | Cod sursa (job #2426474) | Cod sursa (job #2891955) | Cod sursa (job #2957933) | Cod sursa (job #1193404)
#include <cstdio>
using namespace std;
#define NMAX 100001
int i,N,Q,type,X,Y;
int T[NMAX];
int multime(int nod)
{
int rang;
(T[nod]==nod) ? rang=nod : rang=multime(T[nod]);
T[nod]=rang;
return T[nod];
}
int main()
{
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%d%d",&N,&Q);
for (i=1;i<=N;++i)
T[i]=i;
while (Q--)
{
scanf("%d%d%d",&type,&X,&Y);
if (type==1)
{
T[multime(Y)]=T[X];
continue;
}
(multime(X)==multime(Y)) ? printf("DA\n") : printf("NU\n");
}
return 0;
}