Pagini recente » Cod sursa (job #1116824) | Cod sursa (job #378495) | Cod sursa (job #613427) | Cod sursa (job #1434858) | Cod sursa (job #2946728)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int main()
{
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int nodes, ops, op;
fin>>nodes>>ops;
vector<int> parents(nodes+1);
for(int i = 1; i <= nodes; i++){
parents[i] = i;
}
while(ops){
ops--;
fin>>op;
int node1, node2;
fin>>node1>>node2;
switch(op){
case 1:
if(parents[node1] != parents[node2]){
int q = parents[node1];
for(int i = 1; i <= nodes; i++){
if(parents[i] == q){
parents[i] = parents[node2];
}
}
}
break;
case 2:
if(parents[node1] == parents[node2]){
fout<<"DA"<<endl;
}else{
fout<<"NU"<<endl;
}
break;
default:
fout<<"Error";
}
}
fin.close();
fout.close();
return 0;
}