Pagini recente » Cod sursa (job #1882513) | Cod sursa (job #1396495) | Cod sursa (job #1428499) | Cod sursa (job #1341226) | Cod sursa (job #2028934)
#include <cstdio>
#define in "disjoint.in"
#define out "disjoint.out"
#define N 100003
using namespace std;
int n,m,p,x,y,t[N];
inline void unite(int X,int Y)
{
t[X] = Y;
}
inline int root(int nod)
{
int rad = nod;
while(t[rad] > 0)
rad = t[rad];
return rad;
}
int main()
{
freopen(in,"r",stdin);
freopen(out,"w",stdout);
scanf("%d %d",&n,&m);
int rx,ry;
while(m--)
{
scanf("%d%d%d",&p,&x,&y);
rx = root(x);
ry = root(y);
if(p == 1)
{
if(rx != ry)
unite(rx,ry);
}
else
{
if(rx != ry) printf("NU\n");
else printf("DA\n");
}
}
fclose(stdin); fclose(stdout);
return 0;
}