Pagini recente » Cod sursa (job #802343) | Cod sursa (job #1175650) | Cod sursa (job #393196) | Cod sursa (job #954629) | Cod sursa (job #2943340)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin ("disjoint.in");
ofstream fout ("disjoint.out");
int n, m;
vector<int> multimi;
int main() {
fin>>n>>m;
multimi.resize(n+1,0);
for(int i = 1; i <= m; i++){
int op,x,y;
fin>>op>>x>>y;
if(op == 1){
if(multimi[x] == 0 && multimi[y] == 0){
multimi[x] = x;
multimi[y] = x;
}
else if(multimi[x] != 0)multimi[y] = multimi[x];
else multimi[x] = multimi[y];
}
if(op == 2){
while(multimi[x] != multimi[y] && (multimi[x] != x || multimi[y]!=y)){
if(multimi[x] != 0) x = multimi[x];
if(multimi[y] != 0) y = multimi[y];
}
if(multimi[x] == multimi[y] && multimi[y] != 0) fout<<"DA\n";
else fout<<"NU\n";
}
}
return 0;
}