Pagini recente » Cod sursa (job #3247092) | Cod sursa (job #2455390) | Istoria paginii preoni-2008/runda-2/10 | Cod sursa (job #3286450) | Cod sursa (job #228884)
Cod sursa(job #228884)
#include <stdio.h>
int N, M, t[100005];
int get_root(int x)
{
while (t[x] != x) x = t[x];
return x;
}
int main()
{
freopen("disjoint.in","r",stdin);
freopen("disjoint.out","w",stdout);
int i, op, x, y, r1, r2;
scanf("%d %d",&N, &M);
for (i = 1; i <= N; i++) t[i] = i;
for (i = 1; i <= M; i++)
{
scanf("%d %d %d",&op, &x, &y);
r1 = get_root(x); r2 = get_root(y);
t[x] = r1; t[y] = r1;
if (op == 1)
{
if (r1 < r2) t[r2] = r1;
else t[r1] = r2;
}
else printf("%s\n", r1 == r2 ? "DA" : "NU");
}
return 0;
}