6-10 下落的树叶 uva699

Posted bxd123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了6-10 下落的树叶 uva699相关的知识,希望对你有一定的参考价值。

类似第九题  都是属于比较巧妙的题目  !

 

用一个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);
}
View Code

 

以上是关于6-10 下落的树叶 uva699的主要内容,如果未能解决你的问题,请参考以下文章

UVa 699 The Falling Leaves(递归建树)

算法入门经典-第五章 例题6-10 下落的树叶

J - 下落的树叶 ( 输入函数要有返回值!)

紫书 The Falling Leaves UVA - 699 递归得简单

UVA679.小球下落

UVA679.小球下落