Pagini recente » Cod sursa (job #1625827) | Cod sursa (job #229465) | Cod sursa (job #2733295) | Cod sursa (job #2655701) | Cod sursa (job #2700990)
#include <fstream>
using namespace std;
ifstream cin("disjoint.in");
ofstream cout("disjoint.out");
int tata[100005];
int radacina(int x)
{
if (tata[x] == x)
return x;
else
{
tata[x] = radacina(tata[x]);
return tata[x];
}
}
void unire(int a, int b)
{
int tata_a = radacina(a), tata_b = radacina(b);
tata[a] = tata_b;
}
int main()
{
int i, x, y, m, n, tip;
cin >> n >> m ;
for (i = 1; i <= n; i++)
tata[i] = i;
for (i = 1; i <= m; i++)
{
cin >> tip >> x >> y;
if (tip == 1)
unire(x, y);
else
{
if (tata[x] == tata[y])
cout << "DA\n";
else
cout << "NU\n";
}
}
return 0;
}