Pagini recente » Cod sursa (job #2764041) | Cod sursa (job #3191015) | Cod sursa (job #2834038) | Cod sursa (job #2799767) | Cod sursa (job #2376970)
#include <stdio.h>
#define N 100001
int dad[N];
int find_daddy(int x)
{
if (x != dad[x])
x = find_daddy(dad[x]);
return x;
}
void join(int a, int b)
{
a = find_daddy(a);
b = find_daddy(b);
dad[b] = a;
}
char query(int a, int b)
{
a = find_daddy(a);
b = find_daddy(b);
if (dad[a] == dad[b])
return 1;
return 0;
}
int main()
{
freopen("disjoint.in", "r", stdin);
freopen("disjoint.out", "w", stdout);
int n, m, i, q, a, b;
scanf("%d%d", &n, &m);
for (i = 1; i <= n; i++)
dad[i] = i;
for (i = 1; i <= m; i++)
{
scanf("%d%d%d", &q, &a, &b);
if (q == 1)
join(a, b);
else
{
if (query(a, b) == 1)
printf("DA\n");
else
printf("NU\n");
}
}
return 0;
}