Pagini recente »
lmk_11_vs
|
Cod sursă (job #77607)
|
Rating Iorgulescu Matei (mateii)
|
Istoria paginii runda/2019-02-24-test-6/clasament
|
Cod sursă (job #76961)
Cod sursă (job
#76961)
#include <fstream>
using namespace std;
struct lista
{
int st;
int dr;
};
const int N=200000;
lista v[N];
lista Act(int nod)
{
int nodst=v[nod].st,noddr=v[nod].dr,i;
lista x,y;
y.st=y.dr=nod;
//stanga
if(nodst!=-1)
{
x=Act(nodst);
i=x.dr;
y.st=x.st;
v[i].dr=nod;
v[nod].st=i;
}
//dreapta
if(noddr!=-1)
{
x=Act(noddr);
i=noddr;
i=x.st;
y.dr=x.dr;
v[i].st=nod;
v[nod].dr=i;
}
return y;
}
int main()
{
ifstream in("pointeri.in");
ofstream out("pointeri.out");
int n,rad,i;
lista x;
in>>n>>rad;
for(i=0;i<n;i++)
in>>v[i].st;
for(i=0;i<n;i++)
in>>v[i].dr;
x=Act(rad);
out<<x.st<<"\n";
for(i=0;i<n;i++)
{
out<<v[i].st;
if(i!=n-1)
out<<" ";
}
out<<"\n";
for(i=0;i<n;i++)
{
out<<v[i].dr;
if(i!=n-1)
out<<" ";
}
return 0;
}