Pagini recente » Cod sursa (job #1123914) | Cod sursa (job #2879845) | Monitorul de evaluare | Cod sursa (job #2637551) | Cod sursa (job #1640127)
#include <cstdio>
#define NMAX 100005
using namespace std;
int tata[NMAX];
int n,m,i,j,x,y,t;
int mul(int x)
{
if(tata[x] == 0) return x;
tata[x]=mul(tata[x]);
return tata[x];
}
void reuneste(int x,int y)
{
tata[mul(x)]=mul(y);
}
int main()
{
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=m;++i)
{
scanf("%d",&t);
if(t == 1)
{
scanf("%d%d",&x,&y);
reuneste(x,y);
}
else
{
scanf("%d%d",&x,&y);
if(mul(x) != mul(y)) printf("NU\n");
else printf("DA\n");
}
}
return 0;
}