Pagini recente » Cod sursa (job #1841203) | Cod sursa (job #2850105) | Borderou de evaluare (job #1140981) | Borderou de evaluare (job #1316056) | Cod sursa (job #3192411)
#include <bits/stdc++.h>
#define MAXN 100000
using namespace std;
int sef[MAXN + 1];
int find_daddy ( int x ) {
if ( sef[x] == x )
return x;
else {
int p = find_daddy ( sef[x] );
sef[x] = p;
return p;
}
}
int main() {
ifstream cin ( "disjonit.in" );
ofstream cout ( "disjonit.out" );
int n , m , x , y , i , tip;
cin >> n >> m;
for ( i = 0 ; i <= n ; i++ )
sef[i] = i;
for ( i = 0 ; i < m ; i++ ) {
cin >> tip >> x >> y;
if ( tip == 1 )
sef[find_daddy(x)] = find_daddy( y );
else if ( tip == 2 )
if ( find_daddy ( x ) == find_daddy ( y ) )
cout << "DA\n";
else
cout << "NU\n";
}
return 0;
}