类似第九题 都是属于比较巧妙的题目 !
用一个p数组来保存水平值 然后开始built
自然就会按照自左而右的顺序来读取!!!!!!这很重要
#include<bits/stdc++.h>
using namespace std;
void built (int pos); int p[]={};
int main()
{ int root;int cas=;
while(cin>>root&&root!=-)
{ memset(p,,sizeof(p)); p[]+=root;
built(-);built(+); int t=;
while(p[t]==)t++;
printf("Case %d:\n",++cas);
printf("%d",p[t]);
while(p[++t]!=) printf(" %d",p[t]); cout<<endl<<endl;
} return ;
} void built (int pos)
{ int n;
cin>>n;
if(n==-) return ;
p[pos]+=n; built(pos-);built(pos+);
}