Pagini recente » Cod sursa (job #2125581) | Cod sursa (job #3203773) | Cod sursa (job #935070) | Cod sursa (job #874388) | Cod sursa (job #2941634)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
vector <int> tata;
int n,m,tip,x,y;
int radacina(int nod)
{
//daca nodul nu este radacina o caut la tatal acestuia
if(nod!=tata[nod])
{
return radacina(tata[nod]);
}
return nod;
}
int main()
{
fin>>n>>m;
tata.resize(n+1);
for(int i=0;i<n;i++)
{
tata[i]=i;
}
for(int j=0;j<m;j++)
{
fin>>tip>>x>>y;
if(tip==1)
{
//unire arbori
tata[radacina(x]=radacina(y);
}
else
{
if(radacina(x)==radacina(y))
{
fout<<"DA";
}
else fout<<"NU";
fout<<endl;
}
}
return 0;
}