Pagini recente » Cod sursa (job #899482) | Cod sursa (job #2645515) | Cod sursa (job #964022) | Cod sursa (job #2947128) | Cod sursa (job #2947216)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
vector<int> parents;
int find_parent(int node){
if(!parents[node]){
return node;
}else{
return parents[node] = find_parent(parents[node]);
}
}
int main()
{
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int nodes, ops, op;
fin>>nodes>>ops;
parents.resize(nodes+1, 0);
while(ops){
ops--;
fin>>op;
int node1, node2;
fin>>node1>>node2;
int a = find_parent(node1);
int b = find_parent(node2);
if(op==1){
if(a != b){
parents[a] = b;
}
}
else if(op==2){
if(a == b){
fout<<"DA"<<endl;
}else{
fout<<"NU"<<endl;
}
}
}
fin.close();
fout.close();
return 0;
}