Pagini recente » Cod sursa (job #2872602) | Cod sursa (job #1607825) | Cod sursa (job #2438322) | Cod sursa (job #231212) | Cod sursa (job #2209878)
#include <bits/stdc++.h>
using namespace std;
ifstream in("disjoint.in");
ofstream out("disjoint.out");
vector< int > tata, h;
int GetParent(int u) {
if(tata[u] == u) {
return u;
}
tata[u] = GetParent(tata[u]);
return tata[u];
}
void Union(int u, int v) {
tata[GetParent(u)] = GetParent(v);
}
int main() {
ios::sync_with_stdio(false); in.tie(0); out.tie(0);
int n, m; in >> n >> m;
tata.resize(n + 1); h.resize(n + 1, 0);
for(int i = 1; i <= n; ++i) {
tata[i] = i;
}
for(int i = 1; i <= m; ++i) {
int op, x, y; in >> op >> x >> y;
if(op == 1) {
Union(x, y);
} else {
if(GetParent(x) == GetParent(y)) {
out << "DA\n";
} else {
out << "NU\n";
}
}
}
in.close(); out.close();
return 0;
}