Pagini recente » Cod sursa (job #933259) | Cod sursa (job #2946853) | Cod sursa (job #1938866) | Cod sursa (job #2951384) | Cod sursa (job #1821790)
#include <cstdio>
#define NMax 100000
int fiu[NMax+1];
inline void Union(int x, int y)
{
fiu[x] = y;
}
inline int Find(int x)
{
int v,rad=x;
while( fiu[rad] ) rad = fiu[rad];
while( fiu[x] )
{
v = fiu[x];
fiu[x] = rad;
x = v;
}
return rad;
}
int main(){
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
int i,N,M,t,x,y,a,b;
scanf("%d %d",&N,&M);
for(i = 1; i <= M; ++i)
{
scanf("%d %d %d",&t,&x,&y);
if( t==1 ) Union(x,y);
else
{
a = Find(x);
b = Find(y);
if( a ^ b ) printf("NU\n");
else printf("DA\n");
}
}
return 0;
}