Pagini recente » Cod sursa (job #3142852) | Cod sursa (job #364978) | Cod sursa (job #3232457) | Cod sursa (job #2773967) | Cod sursa (job #2686410)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int n, m;
int dad[100041];
int dadad(int a){
if(a != dad[a]){
dad[a] = dadad(dad[a]);
}
return dad[a];
}
void uni(int a, int b){
dad[dadad(a)] = dadad(b);
}
bool inu(int a, int b){
return dadad(a)==dadad(b);
}
int main(){
// ios_base::sync_with_stdio(false);
fin >> n >> m;
for(int i = 1; i <= n; ++i){
dad[i] = i;
}
for(int i = 0; i < m; ++i){
int op, a, b;
fin >> op >> a >> b;
if(op == 1){
uni(a, b);
}else{
if(inu(a, b)){
fout << "DA\n";
}else{
fout << "NU\n";
}
}
}
return 0;
}