Pagini recente » Cod sursa (job #2795170) | Cod sursa (job #2734024) | Cod sursa (job #32233) | Cod sursa (job #51906) | Cod sursa (job #496025)
Cod sursa(job #496025)
#include <stdio.h>
int N, M, cod, X, Y;
int T[100001], rx, ry;
int radacina (int f)
{
while (T[f] > 0)
f = T[f];
return f;
}
int main ()
{
FILE *f1 = fopen ("disjoint.in", "r");
FILE *f2 = fopen ("disjoint.out", "w");
fscanf (f1, "%d%d", &N, &M);
for (int i = 1; i <= N; T[i++] = -1);
while ( M-- )
{
fscanf (f1, "%d%d%d", &cod, &X, &Y);
rx = radacina (X);
ry = radacina (Y);
if (cod == 1)
if (rx < ry)
T[rx] += T[ry], T[ry] = rx;
else
T[ry] += T[rx], T[rx] = ry;
else
if (rx == ry)
fprintf (f2, "DA\n");
else
fprintf (f2, "NU\n");
}
fclose (f1);
fclose (f2);
return 0;
}