Pagini recente » Cod sursa (job #1846230) | Cod sursa (job #545305) | Cod sursa (job #2595047) | Cod sursa (job #1104410) | Cod sursa (job #266216)
Cod sursa(job #266216)
#include <stdio.h>
#define NMAX 100001
int h[NMAX], t[NMAX], N, M;
int tata(int nod)
{
if ( nod != t[nod])
t[nod] = tata( t[nod] );
return t[nod];
}
int main()
{
int m, x, y, cod, i, tx, ty;
freopen("disjoint.in", "r", stdin);
freopen("disjoint.out", "w", stdout);
scanf("%d %d", &N, &M);
for ( i = 1; i <= N; i++)
t[i] = i;
for ( m = 1; m <= M; m++)
{
scanf("%d %d %d", &cod, &x, &y);
tx = tata(x);
ty = tata(y);
if (cod == 1)
{
if ( h[tx] > h[ty])
t[ty] = tx;
else
t[tx] = ty;
if ( h[tx] == h[ty] )
h[ty]++;
}
else
{
if ( tx == ty)
printf("DA\n");
else
printf("NU\n");
}
}
return 0;
}