Pagini recente » Cod sursa (job #1170299) | Cod sursa (job #1041421) | Monitorul de evaluare | Cod sursa (job #1588192) | Cod sursa (job #1039173)
#include<cstdio>
using namespace std;
int i,n,m,x,y,tip,t[100009];
int tata(int nod)
{
if(t[nod]==nod) return nod;
return t[nod]=tata(t[nod]);
}
void unite(int n1,int n2)
{
t[tata(n1)]=tata(n2);
}
int main()
{
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%d",&n);
scanf("%d",&m);
for(i=1;i<=n;i++)
t[i]=i;
while(m)
{
m--;
scanf("%d",&tip);
scanf("%d",&x);
scanf("%d",&y);
if(tip==1) unite(x,y);
else
{
if(tata(x)==tata(y)) printf("DA\n");
else printf("NU\n");
}
}
return 0;
}