Pagini recente » Cod sursa (job #284144) | Cod sursa (job #1905965) | Cod sursa (job #2077202) | Cod sursa (job #1808980) | Cod sursa (job #1644383)
# include <cstdio>
# include <vector>
using namespace std;
FILE *fin = fopen("disjoint.in", "rt");
FILE *fout = fopen("disjoint.out", "wt");
const int MAX = 100005;
vector<int> t(MAX);
int n, m, tmp, x, y, i;
int radacina(int x) {
int r;
for (r = x; t[r] != 0; r = t[r])
;
return r;
}
void connect(int x, int y) {
t[radacina(x)] = radacina(y);
}
int main() {
if (fscanf(fin, "%d%d", &n, &m)) ;
for (i=1; i<=m; ++i) {
if (fscanf(fin, "%d%d%d", &tmp, &x, &y)) ;
if (tmp == 1)
connect(x, y);
else
if (radacina(x) == radacina(y))
fprintf(fout, "DA\n");
else
fprintf(fout, "NU\n");
}
return 0;
}