Pagini recente » Cod sursa (job #2895512) | Cod sursa (job #3186056) | Cod sursa (job #731391) | Cod sursa (job #2899566) | Cod sursa (job #2938448)
#include <iostream>
#include <fstream>
#include <vector>
std::vector<int> parint(100001);
int fetch(int val)
{
if (parint[val] == val)
{
return val;
}
return fetch(parint[val]);
}
void reune(int casa, int masa)
{
int a = fetch(casa);
int b = fetch(masa);
parint[a] = b;
}
int main()
{
std::ifstream cin("disjoint.in");
std::ofstream cout("disjoint.out");
int n, m;
cin >> n >> m;
int q, first, sec;
for (size_t i = 1; i <= n; i++)
{
parint[i] = i;
}
for (size_t i = 0; i < m; i++)
{
cin >> q >> first >> sec;
if (q == 1)
{
reune(first, sec);
}
else
{
if (fetch(first) == fetch(sec))
cout << "DA\n";
else
cout << "NU\n";
}
}
}