Pagini recente »
Istoria paginii utilizator/bufulici27
|
Diferențe pentru runda/barajyakutia2015 între reviziile 2 și 3
|
Istoria paginii utilizator/alexandraradu
|
pregatire_oni_2017_v
|
Cod sursă (job #77648)
Cod sursă (job
#77648)
#include <stdio.h>
using namespace std;
#define M 200001
int st[M] ,dr[M];
int poz ,pr ,prec ,radacina;
void parcarb(int poz)
{
if (poz==-1) return ;
parcarb( st[poz] );
if(prec==-1) pr = poz;
else (dr[prec]=poz);
st[poz]=prec;
prec=poz;
parcarb( dr[poz] );//parcurg arborele recursiv
}
FILE *fin ,*fout;
int n;
int main(){
fin = fopen("pointeri.in" ,"r");
fout = fopen("pointeri.out" ,"w");
int i;
fscanf(fin ,"%d%d" , &n ,&radacina);
prec=-1;
for(i=0;i<n;i++)
{
fscanf(fin ,"%d" ,&st[i]);
}
for(i=0;i<n;i++)
{
fscanf(fin ,"%d" ,&dr[i]);
}
parcarb(radacina);
fprintf(fout ,"%d\n" ,pr);
for(i=0;i<n;i++)
{
fprintf(fout ,"%d " ,st[i]);
}
fprintf(fout ," ");
for(i=0;i<n;i++)
{
fprintf(fout ,"%d " ,dr[i]);
}
return 0;
}