Pagini recente » Cod sursa (job #2870475) | Cod sursa (job #1786526) | Cod sursa (job #2586361) | Cod sursa (job #1977492) | Cod sursa (job #2642299)
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
vector<int> father(100000);
int find_father(int i) {
if(father[i] == i)
return i;
return find_father(father[i]);
}
void reunion(int i, int j) {
int fatheri = find_father(i);
int fatherj = find_father(j);
father[fatherj] = fatheri;
}
int main() {
int n, m;
fin >> n >> m;
for(int i = 1; i <= n; i++)
father[i] = i;
while(m--) {
int task, x, y;
fin >> task >> x >> y;
if(--task)
find_father(x) == find_father(y) ? fout << "DA" << '\n' : fout << "NU" << '\n';
else
reunion(x, y);
}
fin.close();
fout.close();
return 0;
}