Pagini recente » Cod sursa (job #2988822) | Cod sursa (job #1399723) | Cod sursa (job #2031980) | Autentificare | Cod sursa (job #2043795)
#include <fstream>
#define var auto
using namespace std;
int *parent;
int Root(int node)
{
int *root;
return root = &parent[node] == node ? node : *root = Root(*root);
}
void Tie(int x, int y)
{
parent[Root(x)] = Root(y);
}
int main()
{
ifstream in("disjoint.in");
int n, m;
in >> n >> m;
parent = new int[n] - 1;
for (var i = 1; i <= n; ++i)
parent[i] = i;
ofstream out("disjoint.out");
for (var i = 1; i <= m; ++i)
{
int k, x, y;
in >> k >> x >> y;
if (k == 1)
Tie(x, y);
else
out << Root(x) == Root(y) ? "DA\n" : "NU\n";
}
}