Pagini recente »
Istoria paginii runda/sever_vs_simion_2
|
Istoria paginii runda/1
|
Monitorul de evaluare
|
conc202.....
|
Cod sursă (job #77948)
Cod sursă (job
#77948)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("pointeri.in");
ofstream out("pointeri.out");
int st[200000],dr[200000],prim=-1,ultim;
void inord(int p)
{
if(st[p]!=-1)
inord(st[p]);
int fd=dr[p];
if(prim==-1)
prim=p;
else
{
st[p]=ultim;
dr[ultim]=p;
}
dr[p]=-1;
ultim=p;
if(fd!=-1)
inord(fd);
}
int main()
{
int n,rad,i;
in>>n>>rad;
for(i=0;i<n;i++)
in>>st[i];
for(i=0;i<n;i++)
in>>dr[i];
inord(rad);
out<<prim<<"\n";
for(i=0;i<n;i++)
out<<st[i]<<" ";
out<<"\n";
for(i=0;i<n;i++)
out<<dr[i]<<" ";
out<<"\n";
return 0;
}