Pagini recente » Cod sursa (job #2273258) | Cod sursa (job #192687) | Cod sursa (job #1464110) | Cod sursa (job #1288211) | Cod sursa (job #3227553)
#include <iostream>
using namespace std;
int a[501][501], n, m;
int height[501], t[501];
int radacina(int k)
{
if (t[k] == 0)
return k;
else
{
int x = radacina(t[k]);
t[k] = x;
return x;
}
}
void unire(int k, int p)
{
int rk = radacina(k), rp = radacina(p);
if (rk != rp)
{
if (height[rk] > height[rp])
{
t[rp] = rk;
}
else
{
t[rp] = rk;
if(height[rk]==height[rp])
height[rp]++;
}
}
}
int main()
{
int n, m;
cin >> n >> m;
int op, x, y;
for (int i = 1;i <= m;i++)
{
cin >> op >> x >> y;
if (op == 1)
unire(x, y);
else
{
if (radacina(x) == radacina(y))
cout << "DA";
else
cout << "NU";
}
}
return 0;
}