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