说明:读几遍书中的代码就会理解作者的思路,收获是进一步了解了树。
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int sum[1010];
void run(int pos){
int v;
cin >> v;
if(v==-1) return ;
sum[pos]+=v;
run(pos-1);
run(pos+1);
}
bool init(){
int v;
cin >> v;
if(v==-1) return false;
memset(sum,0,sizeof(sum));
int pos=505;
sum[pos]=v;
run(pos-1);
run(pos+1);
return true;
}
int main(){
int kase=1;
while(init()){
int pos=0;
while(sum[pos]==0) pos++;
printf("Case %d:\n%d",kase++,sum[pos++]);
while(sum[pos]!=0)
printf(" %d",sum[pos++]);
printf("\n\n");
}
return 0;
}