Pagini recente »
Borderou de evaluare (job #298049)
|
hardcore_mode_activated
|
Cod sursă (job #769322)
|
Borderou de evaluare (job #643669)
|
Cod sursă (job #77936)
Cod sursă (job
#77936)
#include <fstream>
using namespace std;
ifstream in("pointeri.in");
ofstream out("pointeri.out");
int st[200000], dr[200000], N, rad, ultim, prim = -1;
void afisare()
{
out << prim <<'\n';
for ( int i = 0; i < N; i++ )
out << st[i]<<' ';
out << '\n';
for ( int j = 0; j < N; j++ )
out << dr[j]<<' ';
}
void inordine(int p)
{
if ( st[p] != -1 )
inordine( 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 )
inordine(fd);
}
int main()
{
in >> N >> rad;
for( int i = 0; i < N; i++ )
in >> st[i];
for ( int j = 0; j < N; j++ )
in >> dr[j];
inordine(rad);
afisare();
return 0;
}