Pagini recente » Cod sursa (job #815876) | Cod sursa (job #535514) | Cod sursa (job #2906483) | Cod sursa (job #897744) | Cod sursa (job #1609915)
#include <cstdio>
using namespace std;
int t[100001];
int findset(int x)
{
while (t[x] != x)
x = t[x];
return x;
}
void unionset(int x, int y)
{
//x si y sunt radacini
t[y] = x;
}
int main()
{
int n, op, x, y, tip;
freopen("disjoint.in", "r", stdin);
freopen("disjoint.out", "w", stdout);
scanf("%d%d", &n, &op);
for (register int i = 1; i <= n; ++i)
t[i] = i;
for (register int i = 1; i <= op; ++i)
{
scanf("%d%d%d", &tip, &x, &y);
if (tip == 1)
unionset(findset(x), findset(y));
else
if (findset(x) == findset(y))
printf("DA\n");
else
printf("NU\n");
}
return 0;
}