Pagini recente » Cod sursa (job #1812501) | Cod sursa (job #1699869) | Cod sursa (job #1973387) | Cod sursa (job #192251) | Cod sursa (job #1804197)
#include <fstream>
using namespace std;
ifstream fin ("disjoint.in");
ofstream fout ("disjoint.out");
const int N = 100010;
int n, m, z, x, y, t[N], i, rx, ry;
int rad(int x) {
if (t[x] < 0)
return x;
return t[x] = rad(t[x]);
}
int main() {
fin >> n >> m;
for (i = 1; i <= n; ++i) {
t[i] = -1;
}
for (i = 1; i <= m; ++i) {
fin >> z >> x >> y;
rx = rad(x);
ry = rad(y);
if (z == 1) {
if (t[rx] < t[ry]) {
t[rx] += t[ry];
t[ry] = rx;
} else {
t[ry] += t[rx];
t[rx] = ry;
}
} else {
if (rx == ry) {
fout << "DA\n";
} else {
fout << "NU\n";
}
}
}
return 0;
}