Pagini recente » Cod sursa (job #1285325) | Cod sursa (job #643037) | Cod sursa (job #1987419) | Cod sursa (job #1063068) | Cod sursa (job #2935680)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
vector <int> p;
int n, m, cod;
int Find(const int& a)
{
if (p[a] == 0)
return a;
p[a] = Find(p[a]);
return p[a];
}
void Union(const int& a, const int& b)
{
int tx = Find(a);
int ty = Find(b);
if (tx != ty) {
if (cod == 1)
p[tx] = ty;
else fout << "NU\n";
}
else if (cod == 2)
fout << "DA\n";
}
int main()
{
int a, b;
fin >> n >> m;
p.resize(n + 1);
for (int i = 1; i <= n; i++)
p[i] = 0;
for (int i = 0; i < m; i++){
fin >> cod >> a >> b;
Union(a, b);
}
return 0;
}