Pagini recente »
Istoria paginii runda/vaslui_cls6_24.02
|
Monitorul de evaluare
|
Istoria paginii utilizator/anatolie
|
Istoria paginii runda/informatica_distractiva_runda_1/clasament
|
Cod sursă (job #77649)
Cod sursă (job
#77649)
#include <stdio.h>
#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 ,"\n");
for(i=0;i<n;i++)
{
fprintf(fout ,"%d " , dr[i]);
}
return 0;
}