Pagini recente » Cod sursa (job #371555) | Cod sursa (job #1712651) | Cod sursa (job #2304802) | Cod sursa (job #469572) | Cod sursa (job #2923855)
#include <bits/stdc++.h>
#define INFILE "disjoint.in"
#define OUTFILE "disjoint.out"
#define DIM 100005
using namespace std;
ifstream f(INFILE);
ofstream g(OUTFILE);
int n, m, t[DIM];
void init() {
for (int i = 1; i <= n; i++) {
t[i] = i;
}
}
void leaga(int x, int y) {
t[x] = t[y];
}
int radacina(int x) {
if (t[x] == x)
return x;
return t[x] = radacina(t[x]);
}
int main() {
f >> n >> m;
init();
for (int i = 1; i <= m; i++) {
int ops, x, y;
f >> ops >> x >> y;
if (ops == 1) {
int radx = radacina(x);
int rady = radacina(y);
if (radx != rady) {
leaga(radx, rady);
}
}
if (ops == 2) {
int radx = radacina(x);
int rady = radacina(y);
if (radx == rady) {
g << "DA\n";
} else {
g << "NU\n";
}
}
}
return 0;
}