Pagini recente » Cod sursa (job #1643146) | Cod sursa (job #2167142) | Cod sursa (job #3242663) | Cod sursa (job #1442308) | Cod sursa (job #779355)
Cod sursa(job #779355)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f ("disjoint.in");
ofstream g ("disjoint.out");
int n,m,rad[100005];
int functie ( int p )
{
while ( rad[p]!=p )
p=rad[p];
return p;
}
int main ()
{
int i, oper,x,y,radx,rady;
f>>n>>m;
for ( i=1; i<=n; i++ )
rad[i]=i;
for ( i=1; i<=m; i++ )
{
f>>oper>>x>>y;
if ( oper==1 )
{
radx=functie(x);
rady=functie(y);
if ( radx<rady )
rad[y]=x;
else
rad[x]=y;
}
else
{
if ( functie(x)==functie(y) )
g<<"DA"<<'\n';
else
g<<"NU"<<'\n';
}
}
for ( i=1; i<=n; i++ )
cout<<rad[i]<<" ";
}