Pagini recente » Cod sursa (job #212798) | Cod sursa (job #13577) | Cod sursa (job #2726198) | Cod sursa (job #2430411) | Cod sursa (job #2115786)
#include <fstream>
#include <vector>
#define uint unsigned int
std::ifstream in("disjoint.in");
std::ofstream out("disjoint.out");
std::vector<int> tati;
int find_tata(int node) {
if (tati[node] == node) return node;
return find_tata(tati[node]);
}
int main() {
uint n, m;
in >> n >> m;
tati.resize(n);
for (int i = 0; i < n; ++i) {
tati[i] = i;
}
for (int iter = 0; iter < m; ++iter) {
int op, m1, m2;
in >> op >> m1 >> m2;
m1--, m2--;
if (op == 1) {
tati[m2] = find_tata(m1);
}
else {
if (find_tata(m1) == find_tata(m2)) out << "DA" << '\n';
else out << "NU" << '\n';
}
}
return 0;
}