Pagini recente » Cod sursa (job #2267171) | Cod sursa (job #626780) | Cod sursa (job #2842373) | Cod sursa (job #1118197) | Cod sursa (job #3167843)
#include <iostream>
#pragma GCC optimize("Ofast")
#pragma GCC target("avx,avx2,fma")
const int NMAX = 1e6 + 5;
int parent [ NMAX ];
int find ( int x )
{
if ( x == parent [ x ] ) return x;
parent [ x ] = find ( parent [ x ] );
return parent [ x ];
}
int main ( int argc, char *argv[] )
{
( void )! freopen ( "disjoint.in" , "r", stdin );
( void )! freopen ( "disjoint.out" , "w", stdout );
std::ios_base::sync_with_stdio ( false );
std::cin.tie ( NULL );
int n, m; std::cin >> n >> m;
for ( int i = 1; i <= n; ++ i )
parent [ i ] = i;
int cod, x, y;
while ( m -- )
{
std::cin >> cod >> x >> y ;
find ( x ), find ( y );
if ( cod == 1 )
parent [ parent [ x ] ] = parent [ y ];
else if ( cod == 2 )
if ( parent [ x ] == parent [ y ] ) std::cout << "DA" << '\n';
else std::cout << "NU" << '\n';
}
return 0;
}