Pagini recente » Cod sursa (job #3212997) | Cod sursa (job #980101) | Cod sursa (job #1709052) | Cod sursa (job #1318221) | Cod sursa (job #1648001)
#include <iostream>
#include <cstdio>
using namespace std;
int n,m1,m[100008];
int rad(int nod)
{
if(m[nod]==nod) return nod;
m[nod]=rad(nod);
return m[nod];
}
int unite(int p1,int p2)
{
m[p2]=p1;
}
int main()
{
int i,op,v1,v2;
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%d%d",&n,&m1);
for(i=1;i<=n;i++) m[i]=i;
for(;m1;m1--)
{
scanf("%d%d%d",&op,&v1,&v2);
if(op==2)
{
if(rad(v1)==rad(v2)) printf("DA\n");
else printf("NU\n");
} else unite(rad(v1),rad(v2));
}
fclose(stdin);
fclose(stdout);
return 0;
}