Pagini recente »
Istoria paginii utilizator/balonas
|
Monitorul de evaluare
|
Istoria paginii runda/s17_lab9c/clasament
|
Istoria paginii runda/pregatire_sector_clasa_a_vii-a_runda_1
|
Cod sursă (job #148792)
Cod sursă (job
#148792)
#include <fstream>
using namespace std;
ifstream in ("pointeri.in");
ofstream out ("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;
in>>n>>rad;
for(i=0; i<n; i++)
in>>st[i];
for(i=0; i<n; i++)
in>>dr[i];
prim = ultim = -1;
ordine (rad);
out<<prim<<"\n";
for(i=0; i<n; i++)
out<<st[i]<<" ";
out<<"\n";
for(i=0; i<n; i++)
out<<dr[i]<<" ";
return 0;
}