Pagini recente » Cod sursa (job #2498881) | Cod sursa (job #531647) | Cod sursa (job #1970402) | Borderou de evaluare (job #111454) | Cod sursa (job #1496903)
#include <bits/stdc++.h>
using namespace std;
int n, m;
int v[100005];
void mergeList(int a, int b) {
int old = v[b];
for(int i = 1; i <= n; i ++)
if(v[i] == old)
v[i] = v[a];
}
int main()
{
FILE *f = fopen("disjoint.in", "r");
FILE *g = fopen("disjoint.out", "w");
int x, y, t;
fscanf(f, "%d %d", &n, &m);
int k = 0;
for(int i = 1; i <= n; i ++) {
v[i] = i;
}
for(int i = 1; i <= m; i ++) {
fscanf(f, "%d %d %d", &t, &x, &y);
if(t == 1) k++, mergeList(x, y);
else {
if(v[x] == v[y])
fprintf(g, "DA\n");
else fprintf(g, "NU\n");
}
}
return 0;
}