Pagini recente » Cod sursa (job #1337507) | Cod sursa (job #3275529) | Cod sursa (job #1821920) | Cod sursa (job #1434058) | Cod sursa (job #1644392)
# 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) {
if (t[x] == 0)
return x;
t[x] = radacina(t[x]);
return t[x];
}
void connect(int x, int y) {
t[radacina(x)] = radacina(y);
}
int main() {
fscanf(fin, "%d%d", &n, &m);
for (i=1; i<=m; ++i) {
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;
}