Pagini recente » Cod sursa (job #1872769) | Cod sursa (job #879305) | Cod sursa (job #2951767) | Cod sursa (job #782126) | Cod sursa (job #894492)
Cod sursa(job #894492)
#include<fstream>
#define NN 100009
using namespace std;
ofstream out("disjoint.out");
int n , m , T[NN];
int find( int x );
void unire( int x , int y );
void read();
int main()
{
read();
return 0;
}
int find ( int x )
{
if ( x != T[x] )
return T[x] = find( T[x] );
return x;
}
void unire( int x , int y )
{
int m1 , m2;
m1 = find(x);
m2 = find(y);
T[ m2 ] = m1;
}
void read()
{
ifstream in("disjoint.in");
in >> n >> m;
for( int i=1 ; i<=n ; i++)
T[i] = i;
for( int op , x , y ; m ; --m )
{
in >> op >> x >> y;
if ( op&1 )
unire( x , y );
else
out << ( find(x) == find(y) ? "DA" : "NU " ) << '\n';
}
}