Pagini recente » Clasament chestii | Cod sursa (job #1287012) | Cod sursa (job #3230199) | Cod sursa (job #2329165) | Cod sursa (job #1088776)
#include <stdio.h>
using namespace std;
#define N 100000
int p[N];
int cod,x,y,n,m;
void unionn ()
{
int loc;
if(p[x]==0)
loc=x;
else
loc=p[x];
if(p[y]==0)
{
for(int i=1;i<N;i++)
if(p[i]==y)
p[i]=loc;
p[y]=loc;
}
else
{
for (int i=1;i<N;i++)
if(p[i]==p[y])
p[i]=loc;
p[p[y]]=loc;
}
//for (int j=1;j<5;j++)
// printf ("%d ",p[j]);
//printf ("\n");
}
void verif ()
{
if( (p[x]==p[y]&&p[x]!=0) || (p[x]==y) || (p[y]==x) )
printf("DA\n");
else
printf("NU\n");
}
int main()
{
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%d %d",&n,&m);
for(int i=0;i<m;i++)
{
scanf("%d %d %d",&cod,&x,&y);
if (cod==1) unionn();
else verif();
}
return 0;
}