Pagini recente » Cod sursa (job #2505752) | Cod sursa (job #558263) | Cod sursa (job #2847380) | Cod sursa (job #1182881) | Cod sursa (job #1643803)
#include <fstream>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int n, m, t, x, y, v[100010], a, b, ad1, ad2;
int parinte(int x, int &ad1){
while(x != v[x])
x = v[x];
return x;
}
int main()
{
fin >> n >> m;
for(int i = 1; i <= n; ++i)
v[i] = i;
for(int i = 1; i <= m; ++i){
fin >> t >> x >> y;
ad1 = ad2 = 0;
a = parinte(x, ad1);
b = parinte(y, ad2);
if(t == 1){
if(ad1 > ad2)
v[b] = a;
else
v[a] = b;
}
else {
if(a == b){
fout << "DA\n";
}
else {
fout << "NU\n";
}
}
}
return 0;
}