Pagini recente » Cod sursa (job #1294356) | Cod sursa (job #1545495) | Cod sursa (job #792779) | Cod sursa (job #1303765) | Cod sursa (job #726661)
Cod sursa(job #726661)
//Include
#include <fstream>
using namespace std;
//Constante
const int MAX_SIZE = (int)1e5+1;
//Functii
inline int getRadacina(int x);
//Variabile
ifstream in("disjoint.in");
ofstream out("disjoint.out");
int nrElemente, nrOperatii;
int operatie, element1, element2;
int tata[MAX_SIZE];
//Main
int main()
{
in >> nrElemente >> nrOperatii;
for(int i=1 ; i<=nrOperatii ; ++i)
{
in >> operatie >> element1 >> element2;
if(operatie == 1)
tata[getRadacina(element2)] = getRadacina(element1);
else
out << (getRadacina(element1) == getRadacina(element2)? "DA\n" : "NU\n");
}
in.close();
out.close();
return 0;
}
inline int getRadacina(int x)
{ return tata[x]? tata[x] = getRadacina(tata[x]) : x; }