Pagini recente » Cod sursa (job #2596582) | Cod sursa (job #2854473) | Cod sursa (job #2948606) | Cod sursa (job #185904) | Cod sursa (job #1155524)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int cod,x,y,N,M,aux,rad_x,rad_y,i,ok,cont;
int v[100001];
void radacini()
{
while(v[x]!=0)
{
aux=v[x];
x=aux;
}
rad_x=x;
while(v[y]!=0)
{
aux=v[y];
y=aux;
}
rad_y=y;
}
void verifica(int x,int y)
{
int yy=y;
radacini();
if(rad_x!=rad_y)
{
g<<"NU"<<"\n";
/* ok=0;
while(v[yy]!=0)
{
cont=v[yy];
v[yy]=rad_x;
yy=cont;
}
if(ok==1)
v[yy]=rad_x;*/
}
else
g<<"DA"<<"\n";
}
int main()
{
f>>N>>M;
for(i=1;i<=M;i++)
{
f>>cod>>x>>y;
if(cod==1)
{
radacini();
if(rad_x!=rad_y)
{
v[rad_y]=rad_x;
}
}
else
verifica(x,y);
}
for(i=1;i<=N;++i)
cout<<v[i]<<" ";
f.close();
return 0;
}