Pagini recente » Cod sursa (job #2287036) | Cod sursa (job #2264099) | Cod sursa (job #268973) | Cod sursa (job #2601792) | Cod sursa (job #2440134)
#include <bits/stdc++.h>
#define N 100005
using namespace std;
ifstream fin ("disjoint.in");
ofstream fout ("disjoint.out");
int n, m, p, a, b, T[N];
int Radacina (int x)
{
int rad = x;
while (T[rad] != rad)
rad = T[rad];
while (T[x] != x)
{
int y = x;
x = T[x];
T[y] = rad;
}
return rad;
}
void Uneste(int x, int y)
{
int rx = Radacina(x), ry = Radacina(y);
T[ry] = rx;
}
int main()
{
fin >> n >> m;
for (int i = 1; i <= n; i++)
T[i] = i;
while (m--)
{
fin >> p;
fin >> a >> b;
if (p == 1)
Uneste(a, b);
else
{
if (Radacina(a) == Radacina(b))
fout << "DA\n";
else fout << "NU\n";
}
}
return 0;
}