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