Pagini recente » Cod sursa (job #1399864) | Cod sursa (job #1622941) | Cod sursa (job #1722876) | Cod sursa (job #2313985) | Cod sursa (job #2941644)
#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(y)]=radacina(x);
}
else
{
if(radacina(x)==radacina(y))
{
fout<<"DA \n";
}
else fout<<"NU \n";
}
}
return 0;
}