Pagini recente » Cod sursa (job #2840620) | Cod sursa (job #2556014) | Cod sursa (job #2052223) | Cod sursa (job #1456632) | Cod sursa (job #1011134)
#include <fstream>
using namespace std;
ifstream in("disjoint.in");
ofstream out("disjoint.out");
const int N = 100000;
int t[N+1], a[3][N+1];
int radacina(int x){
if(t[x] == 0){
return x;
}
int r = radacina(t[x]);
t[x] = r;
return r;
}
int main()
{
int n, m;
in >> n >> m;
for(int i = 1; i <= m; i++){
in >> a[0][i] >> a[1][i] >> a[2][i];
if(a[0][i] == 2){
if(radacina(a[1][i]) == radacina(a[2][i]))
out << "DA" << "\n";
else
out << "NU" << "\n";
} else {
if(t[a[2][i]] == 0){
t[a[2][i]] = a[1][i];
} else
if(t[a[1][i]] == 0){
t[a[1][i]] = a[2][i];
} else
t[a[2][i]] = t[a[1][i]];
}
}
return 0;
}