Pagini recente » miada | Cod sursa (job #468842) | Cod sursa (job #2677671) | Cod sursa (job #3277491) | Cod sursa (job #1343099)
#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[stramos(a)] = stramos(b);
else if (op == 2)
{
x = (stramos(a) == stramos(b));
if (x)
printf("DA\n");
else
printf("NU\n");
}
}
return 0;
}