Pagini recente » Cod sursa (job #1939327) | Cod sursa (job #3217127) | Cod sursa (job #1199395) | Cod sursa (job #563816) | Cod sursa (job #2285851)
#include <iostream>
#include <fstream>
using namespace std;
ofstream fo("disjoint.out");
ifstream fi("disjoint.in");
int n,m,tip,a,b,parinte[100005];
int father(int nod)
{
if(nod==parinte[nod])
return nod;
parinte[nod]=father(parinte[nod]);
return parinte[nod];
}
int main()
{
fi>>n>>m;
for(int i=1;i<=n;i++)
parinte[i]=i;
for(int i=1; i<=m; i++)
{
fi>>tip;
if(tip==1) ///Reuniune
{
fi>>a>>b;
parinte[father(b)]=father(a);
}
else
{
fi>>a>>b;
if(father(a)==father(b))
fo<<"DA"<<"\n";
else
fo<<"NU"<<"\n";
}
}
for(int i=1;i<=n;i++)
cout<<parinte[i]<<"\n";
}