Pagini recente » Cod sursa (job #1824503) | Cod sursa (job #2059764) | Cod sursa (job #975948) | Cod sursa (job #325837) | Cod sursa (job #3254891)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("date.in");
ofstream fout("date.out");
int n, m;
int t[1000005], inalt[1000005];
int cod, x, y;
int rad(int nod)
{
if(nod == t[nod])
return nod;
int rnod = rad(t[nod]);
t[nod] = rnod;
return nod;
}
void reuniune()
{
int rx = rad(x);
int ry = rad(y);
if(inalt[rx] > inalt[rx])
t[ry] = rx;
else if(inalt[ry] > inalt[rx])
t[rx] = ry;
else{
t[ry] = rx;
inalt[rx]++;
}
}
bool interogare()
{
return (rad(x) == rad(y));
}
int main()
{
fin >> n >> m;
for(int i = 1; i <= n; i++)
t[i] = i;
for(;m;n--){
cin >> cod >> x >> y;
if(cod == 1)
reuniune();
else{
if(interogare())
cout << "DA\n";
else
cout << "NU\n";
}
}
return 0;
}