Pagini recente » Cod sursa (job #596954) | Cod sursa (job #226872) | Istoria paginii runda/ampulamare/clasament | Cod sursa (job #433313) | Cod sursa (job #2815849)
#include<fstream>
#include<vector>
using namespace std;
ifstream in("date.in");
ofstream out("date.out");
int get_root(int x, vector<int> &multime)
{
while (multime[x] != x)
x = multime[x];
return x;
}
void Dis()
{
int nr_multimi, nr_operatii;
vector<int> multime;
in >> nr_multimi >> nr_operatii;
multime.resize(nr_operatii + 1);
for (int i = 1; i <= nr_multimi; i++)
multime[i] = i;
for (int i = 1; i <= nr_operatii; i++)
{
int cod, x, y, a, b;
in >> cod >> x >> y;
a = get_root(x, multime);
b = get_root(y, multime);
if (cod == 1)
{
if (a < b)
multime[b] = a;
else
multime[a] = b;
}
else
{
if (a == b)
out << "DA\n";
else
out << "NU\n";
}
}
}
int main()
{
Dis();
return 0;
}