求助!60pts求大佬调

austin2010 2024-02-06 9:36:10 3 返回题目

#include<bits/stdc++.h>

#pragma G++ optimize(1)

#pragma G++ optimize(2)

#pragma G++ optimize(3)

#pragma G++ optimize("Ofast")

#pragma G++ optimize("inline")

using namespace std;

inline int read()

{

int x=0,w=0;

char ch=getchar();

while(!isdigit(ch)) {w|=ch=='-',ch=getchar();}

while(isdigit(ch)) {x=(x<<3)+(x<<1)+(ch^48),ch=getchar();}

return w?-x:x;

} inline void write(int x)

{

if(x<0) putchar('-'),x=-x;

if(x>9) write(x/10);

putchar(x%10+'0');

}

struct node

{

int lch,rch;

}a[66];

int n;

void front(int p)

{

write(p),putchar(' ');

if(a[p].lch) front(a[p].lch);

if(a[p].rch) front(a[p].rch);

return ;

}

void middle(int p)

{

if(a[p].lch) middle(a[p].lch);

write(p),putchar(' ');

if(a[p].rch) middle(a[p].rch);

return ;

}

void back(int p)

{

if(a[p].lch) back(a[p].lch);

if(a[p].rch) middle(a[p].rch);

write(p),putchar(' ');

return ;

}

int main()

{

n=read();

for(int i=1;i<=n;i++)

{

	a[i].lch=read(),a[i].rch=read();

}

front(1);

putchar('\n');

middle(1);


putchar('\n');

back(1);

return 0;

}

{{ vote && vote.total.up }}