Pagini recente »
Borderou de evaluare (job #174908)
|
summerround3
|
Istoria paginii runda/concurs123xyz
|
Cod sursă (job #513374)
|
Cod sursă (job #145099)
Cod sursă (job
#145099)
#include<fstream>
using namespace std;
ifstream f("pointeri.in");
ofstream g("pointeri.out");
int st[200000],dr[200000],prim,ultim;
void ordine(int p)
{
if(st[p]!=-1)
ordine(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)
ordine(fd);
}
int main()
{
int i,n,rad;
f>>n>>rad;
for(i=0;i<n;i++)
f>>st[i];
for(i=0;i<n;i++)
f>>dr[i];
prim=ultim=-1;
ordine(rad);
g<<prim<<"\n";
for(i=0;i<n;i++)
g<<st[i]<<" ";
g<<"\n";
for(i=0;i<n;i++)
g<<dr[i]<<" ";
return 0;
}