Pagini recente » Cod sursa (job #482747) | Cod sursa (job #2194378) | Cod sursa (job #2287694) | Cod sursa (job #523675) | Cod sursa (job #3311953)
#include <bits/stdc++.h>
using namespace std;
int daddy[100005];
int get_big_daddy( int a ) {
if ( a == daddy[a] )
return a;
return daddy[a] = get_big_daddy( daddy[a] );
}
void join( int a, int b ) {
a = get_big_daddy( a );
b = get_big_daddy( b );
if ( a != b )
daddy[b] = daddy[a];
}
int main()
{
ifstream fin( "disjoint.in" );
ofstream fout( "disjoint.out" );
int i, a, b, n, m, t;
fin >> n >> m;
for ( i = 1; i <= n; i++ )
daddy[i] = i;
for ( i = 0; i < m; i++ ) {
fin >> t >> a >> b;
if ( t == 1 )
join( a, b );
else
fout << ( get_big_daddy( a ) == get_big_daddy( b ) ? "DA\n" : "NU\n" );
}
return 0;
}