Pagini recente » Cod sursa (job #94358) | Cod sursa (job #3131958) | Cod sursa (job #2798491) | Cod sursa (job #2314900) | Cod sursa (job #1784173)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
std::vector<int> v[100001];
int find_dad(int nod){
if(v[nod].size()==0)
return nod;
return find_dad(v[nod][0]);
}
int main()
{
int i, j, n, m, op, a, b, ta, tb;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
f>>n>>m;
for(int t=1;t<=m;t++){
f>>op>>a>>b;
if(op==1){
ta=find_dad(a);
tb=find_dad(b);
v[tb].push_back(ta);
}
else{
ta=find_dad(a);
tb=find_dad(b);
if(ta==tb)
g<<"DA\n";
else g<<"NU\n";
}
}
}