Pagini recente » Cod sursa (job #2075364) | Cod sursa (job #2358280) | Cod sursa (job #2329215) | Cod sursa (job #1165452) | Cod sursa (job #2700998)
#include <fstream>
#define N 100000
using namespace std;
ifstream fin ( "disjoint.in" );
ofstream fout ( "disjoint.out" );
int boss[N + 1];
int n;
int find( int n ) {
if ( boss[n] == n )
return n;
return boss[n] = find( boss[n] );
}
void reuniune( int a, int b ) {
int sef1, sef2;
sef1 = find( a );
sef2 = find( b );
boss[sef2] = sef1;
}
int main() {
int q, op, x, y;
fin >> n >> q;
for ( int i = 1; i <= n; i ++ )
boss[i] = i;
for ( int i = 1; i <= q; i ++ ) {
fin >> op >> x >> y;
if ( op == 1 )
reuniune( x, y );
else {
if ( find( x ) == find( y ) )
fout << "DA\n";
else
fout << "NU\n";
}
}
return 0;
}