Pagini recente » Cod sursa (job #154470) | Cod sursa (job #2255968) | Cod sursa (job #2246294) | Cod sursa (job #1877960) | Cod sursa (job #2487494)
#include <stdio.h>
#include <stdlib.h>
int vect[100000];
int find(int x) {
if(vect[x] == 0)
return x;
return find(vect[x]);
}
void elementsUnion(int x, int y) {
int t1 = find(x), t2 = find(y);
if(t1 != t2) {
vect[t2] = t1;
}
}
int main() {
int n, m, x, y, cod;
FILE *in = fopen("disjoint.in", "r");
FILE *out = fopen("disjoint.out", "w");
fscanf(in, "%d %d", &n, &m);
for(int i = 0; i < m; i++) {
fscanf(in, "%d %d %d", &cod, &x, &y);
if(cod == 2) {
if(find(x) == find(y)) {
fprintf(out, "DA\n");
}
else
fprintf(out, "NU\n");
}
else {
elementsUnion(x, y);
}
}
return 0;
}