Pagini recente » Cod sursa (job #1520803) | Cod sursa (job #269007) | Cod sursa (job #136769) | Cod sursa (job #2903419) | Cod sursa (job #1998021)
#include <cstdio>
#include <cstring>
using namespace std;
#define IN "disjoint.in"
#define OUT"disjoint.out"
int n , m , x , y , caz;
int T[1000*103];
int Find_Root( int a )
{
while ( T[a]!= -1 )
a = T[a];
return a;
}
void Read_Solve()
{
int i , rx , ry;
scanf ( "%d%d" , &n , &m );
for ( i = 1 ; i <= m ; i ++ ){
scanf ( "%d%d%d" , &caz , &x , &y );
rx = Find_Root(x) , ry = Find_Root(y);
if ( caz == 1 )
T[rx] = ry;
else if ( rx == ry )
printf ("DA\n");
else printf ("NU\n");
}
}
int main()
{
freopen(IN,"r",stdin);
freopen(OUT,"w",stdout);
memset(T,-1,sizeof(T));
Read_Solve();
}