Pagini recente » Cod sursa (job #2910455) | Cod sursa (job #1599111) | Cod sursa (job #2871152) | Cod sursa (job #2449443) | Cod sursa (job #2544796)
#define MAX_N 100000
#include <fstream>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
int n, m, T[MAX_N + 1];
int Gaseste(int x);
void Uneste(int x, int y);
int main()
{
fin >> n >> m;
for (int i = 0, x, y, cod; i < m; ++i)
{
fin >> cod >> x >> y;
if (cod == 1)
{
Uneste(x, y);
}
else
{
fout << ((Gaseste(x) == Gaseste(y)) ? "DA\n" : "NU\n");
}
}
fin.close();
fout.close();
return 0;
}
int Gaseste(int x)
{
if (T[x] == 0) { return x; }
return T[x] = Gaseste(T[x]);
}
void Uneste(int x, int y)
{
T[Gaseste(x)] = Gaseste(y);
}