Pagini recente » Cod sursa (job #2097878) | Cod sursa (job #2769125) | Cod sursa (job #2392623) | Cod sursa (job #307156) | Cod sursa (job #230479)
Cod sursa(job #230479)
#include <stdio.h>
int r[100001], n, m;
int f(int);
int main()
{
freopen("disjoint.in", "r", stdin);
freopen("disjoint.out", "w", stdout);
int i, tip, a, b;
scanf("%d %d", &n, &m);
for(i = 1; i <= n; ++i)
{
r[i] = i;
}
for(i = 1; i <= m; ++i)
{
scanf("%d %d %d", &tip, &a, &b);
if(tip == 1)
{
if(f(a) != f(b))
{
if(a < b)
{
r[b] = a;
}
else
{
r[a] = b;
}
}
}
else
{
if(f(a) == f(b))
{
printf("DA\n");
}
else
{
printf("NU\n");
}
}
}
return 0;
}
int f(int a)
{
if(r[a] != r[r[a]])
{
r[a] = f(r[a]);
}
return r[a];
}