Pagini recente » Cod sursa (job #2553381) | Cod sursa (job #1612200) | Cod sursa (job #2561081) | Cod sursa (job #2533815) | Cod sursa (job #1327915)
#include <cstdio>
#define nmax 100000+5
using namespace std;
int tata[nmax];
int n;
int stramos(int initial)
{
int curent = initial;
while (curent != tata[curent])
{
curent = tata[curent];
tata[initial] = curent;
}
return curent;
}
int main()
{
freopen("disjoint.in", "r", stdin);
freopen("disjoint.out", "w", stdout);
int i, k, x;
int a, b, op;
scanf("%d%d", &n, &k);
for (i = 1; i <= n; i++)
tata[i] = i;
for (i = 0; i < k; i++)
{
scanf("%d%d%d", &op, &a, &b);
if (op == 1)
tata[a] = tata[b];
else if (op == 2)
{
x = (stramos(a) == stramos(b));
if (x)
printf("DA\n");
else
printf("NU\n");
}
}
return 0;
}