Pagini recente » Cod sursa (job #423033) | Cod sursa (job #1365612) | Cod sursa (job #1928857) | Cod sursa (job #1475950) | Cod sursa (job #2505079)
#include <stdio.h>
#include <stdlib.h>
int tata[100001];
int n, m;
int fill(int x) {
int i;
if (tata[x] == x) {
return x;
} else {
return fill(tata[x]);
}
}
void union(int x, int y) {
int sefx, int sefy;
sefx = find(x);
sefy = find(y);
tata[sefx] = sefy;
}
int main()
{
FILE*in = fopen("disjoint.in", "r");
FILE*out = fopen("disjoint.out", "w");
int n, m, i, c, x, y;
fscanf(in, "%d%d", &n, &m);
for (i = 0; i < n; i++) {
tata[i] = i;
}
for (i = 0; i < m; i++) {
fscanf(in, "%d%d%d", &c, &x, &y);
if (c == 1) {
union(x, y);
} else {
if (find(x) == find(y)) {
fprintf(out, "DA");
} else {
fprintf(out, "NU");
}
}
}
return 0;
}