Pagini recente » Cod sursa (job #1727277) | Cod sursa (job #775483) | Cod sursa (job #2252244) | Cod sursa (job #2456822) | Cod sursa (job #3164231)
#include <iostream>
#include <fstream>
using namespace std;
#define nmax 100003
int parinte[nmax];
int sef( int x ) {
int aux;
if( parinte[x] == x )
return x;
aux = sef( parinte[x] );
parinte[x] = aux;
return aux;
}
int main()
{
int n, q, i, t, x, y, a, b;
ifstream cin("disjoint.in");
ofstream cout("disjoint.out");
cin >> n >> q;
for( i = 1; i <= n; i++ )
parinte[i] = i;
for( i = 0; i < q; i++ ) {
cin >> t >> x >> y;
if( t == 1 ) {
a = sef(x);
b = sef(y);
parinte[a] = b;
}
else {
if( sef(x) == sef(y) )
cout << "DA\n";
else
cout << "NU\n";
}
}
return 0;
}