Pagini recente » Cod sursa (job #2343578) | Cod sursa (job #2987391) | Cod sursa (job #193561) | Cod sursa (job #274220) | Cod sursa (job #2700989)
#include <fstream>
#define MAXN 100000
using namespace std;
ifstream fin( "disjoint.in" );
ofstream fout( "disjoint.out" );
int sef[MAXN];
int find( int i ) {
if ( sef[i] == i )
return i;
return sef[i] = find( sef[i] );
}
void unionn( int i, int j ) {
int sefi, sefj;
sefi = find( i );
sefj = find( j );
sef[sefj] = sefi;
}
int main(){
int n, m, q, x, y, i, sx, sy;
fin >> n >> m;
for( i = 0; i < n; i++ )
sef[i] = i;
for( i = 0; i < m; i++ ){
fin >> q >> x >> y;
x--;
y--;
if( q == 1 )
unionn( x, y );
else{
sx = find( x );
sy = find( y );
if( sx == sy )
fout <<"DA\n";
else
fout << "NU\n";
}
}
return 0;
}