Pagini recente » Cod sursa (job #1931615) | Cod sursa (job #1083975) | Cod sursa (job #2780550) | Cod sursa (job #1426100) | Cod sursa (job #2673919)
#include <fstream>
using namespace std;
ifstream cin ("disjoint.in");
ofstream cout ("disjoint.out");
int set[100005];
int S(int x)
{
if (x != set[x])
return x = S(set[x]);
else
return x;
}
int unire(int x, int y)
{
int xx = S(x);
int yy = S(y);
set[xx] = yy;
}
int main()
{
int n, i, m;
cin >> n >> m;
for (i = 1; i <= n; i++)
set[i] = i;
for (i = 1; i <= m; i++)
{
int tip, x, y;
cin >> tip >> x >> y;
if (tip == 1)
unire(x, y);
else
{
if (S(x) == S(y))
cout <<"DA" ;
else
cout << "NU";
cout << '\n';
}
}
return 0;
}