Cod sursă (job #77944)

Utilizator avatar Feri Csiki Francisc Feri IP ascuns
Problemă Pointeri Compilator cpp | 0,71 kb
Rundă Arhiva de probleme Status evaluat
Dată 9 oct. 2014 09:40:56 Scor 0
#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];
    for(i=0;i<n;i++)
        inord(i);
    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;
}