Cod sursă (job #76576)

Utilizator avatar dragosv Dragos Vecerdea dragosv IP ascuns
Problemă Pointeri Compilator cpp | 0,69 kb
Rundă Tema 2 clasele 9-10 2014/15 Status evaluat
Dată 2 oct. 2014 16:09:08 Scor 100
#include<cstdio>
using namespace std;
int st[200001],dr[200001];
int n,pr,prec,rad;
void meow(int poz){
    if (poz==-1) return ;
    meow(st[poz]);
    if (prec==-1) pr=poz;
    else dr[prec]=poz;
    st[poz]=prec;
    prec=poz;
    meow(dr[poz]);
}
int main(){
    freopen ("pointeri.in","r",stdin);
    freopen ("pointeri.out","w",stdout);
    int i;
    scanf ("%d%d",&n,&rad);
    prec=-1;
    for(i=0;i<n;i++)
        scanf ("%d",&st[i]);
    for(i=0;i<n;i++)
        scanf ("%d",&dr[i]);
    meow(rad);
    printf ("%d\n",pr);
    for(i=0;i<n;i++)
        printf ("%d ",st[i]);
    printf ("\n");
    for(i=0;i<n;i++)
        printf ("%d ",dr[i]);
    return 0;
}