Pagini recente » Cod sursa (job #1929005) | Cod sursa (job #3240438) | Cod sursa (job #2433446) | Cod sursa (job #614895) | Cod sursa (job #2279970)
#include <fstream>
#define NMAX 1000005
using namespace std;
int p[NMAX],n,m;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
void parinte(int nod)
{
if(p[nod]==nod)
return nod;
return parinte(p[nod]);
}
void unire(int vf1, int vf2)
{
p[parinte(vf1)]=parinte(vf2);
}
int main()
{
int op,vf2,vf1;
f>>n>>m;
for(int i=1; i<=m; i++)
{
f>>op>>vf1>>vf2;
if(!p[vf1])
p[vf1]=vf1;
if(!p[vf2])
p[vf2]=vf2;
if(op==1)
unite(vf1,vf2);
else
{
if(parinte(vf1)==parinte(vf2))
g<<"DA\n";
else
g<<"NU\n";
}
}
return 0;
}