Pagini recente » Cod sursa (job #967818) | Cod sursa (job #987499) | Istoria paginii runda/baraj2010 | Cod sursa (job #1701169) | Cod sursa (job #1450428)
#include <cstdio>
#include <algorithm>
#include <cstring>
#define Nmax 100005
using namespace std;
int n, i, j, m, t[Nmax];
int radacina(int x)
{
if (t[x] == 0)
return x;
t[x] = radacina(t[x]);
return t[x];
}
void reuniune(int x, int y)
{
int rx = radacina(x),
ry = radacina(y);
t[rx] = ry;
}
bool apart(int x, int y)
{
return radacina(x) == radacina(y);
}
int main()
{
int c, x, y;
freopen("disjoint.in", "r", stdin);
freopen("disjoint.out", "w", stdout);
scanf("%d %d", &n, &m);
while (m --)
{
scanf("%d %d %d", &c, &x, &y);
if (c == 1) reuniune(x, y);
else
if (apart(x, y))
printf("DA\n");
else printf("NU\n");
}
return 0;
}