Pagini recente » pre_oni_gim2015 | Cod sursa (job #1883722) | Cod sursa (job #2390300) | Cod sursa (job #2899246) | Cod sursa (job #1011131)
#include <cstdio>
int n,k;
const int Q=100007;
int t[Q];
int radacinare(int x)
{
if(t[x]==0)
return x;
t[x]=radacinare(t[x]);
return t[x];
}
int main()
{
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%d%d",&n,&k);
int l,x,y,act,ry;
for(int i=1; i<=k; i++)
{
scanf("%d%d%d",&l,&x,&y);
if(x>y)
{
act=x;
x=y;
y=act;
}
if(l==1)
{
/*
act=radacinare(x);
ry=radacinare(y);
t[ry]=act;
while(ry!=act)
{
t[ry]=act;
ry=radacinare(ry-1);
}
*/
t[radacinare(y)]=radacinare(x);
}
else
{
/*
act=radacinare(y);
if(act<=x)
{
printf("DA\n");
}
else
{
printf("NU\n");
}
*/
if(radacinare(x)==radacinare(y))
{
printf("DA\n");
}
else
printf("NU\n");
}
}
return 0;
}