Pagini recente » Cod sursa (job #514146) | Cod sursa (job #911226) | Cod sursa (job #1071987) | Cod sursa (job #417962) | Cod sursa (job #1985462)
#include <bits/stdc++.h>
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int N, M, type, x, y, dad[100005];
int _find(int node) {
if (dad[node] != node) {
dad[node] = _find(dad[node]);
}
return dad[node];
}
void unite(int a, int b) {
dad[_find(x)] = _find(b);
}
int main() {
f >> N >> M;
for (int i = 1; i <= N; ++i) {
dad[i] = i;
}
for (int i = 1; i <= M; ++i) {
f >> type >> x >> y;
if (type == 1) {
unite(x, y);
continue;
}
if (_find(x) != _find(y)) {
g << "NU\n";
} else {
g << "DA\n";
}
}
return 0;
}