Uva 699The Falling Leaves

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Uva 699The Falling Leaves相关的知识,希望对你有一定的参考价值。

0.唔。这道题 首先要明确根节点在哪儿 初始化成pos=maxn/2;

1.因为是先序的输入方法,所以这个建树的方法很重要

 

 1 void build(int p)
 2 {
 3     int v;
 4     cin>>v;
 5 
 6     if(v!=-1)
 7     {
 8         sum[p]+=v;
 9         build(p-1),build(p+1);
10     }
11 }

 

 

 

 1 #include  <iostream>
 2 #include <cstring>
 3 using namespace std;
 4 const int maxn=82 ;
 5 int sum[maxn];
 6 int k;
 7 void build(int p)
 8 {
 9     int v;
10     cin>>v;
11 
12     if(v!=-1)
13     {
14         sum[p]+=v;
15         build(p-1),build(p+1);
16     }
17 
18 }
19 void output()
20 {
21     cout<<"Case "<<++k<<":"<<endl;
22     int p=0;
23     while(sum[p]==0) p++;
24 
25     cout<<sum[p++];
26 
27     while(sum[p]!=0)
28         cout<<" "<<sum[p++];
29     cout<<endl<<endl;
30 }
31 int main()
32 {
33     int root;
34     k=0;
35     while(cin>>root)
36     {
37         memset(sum,0,sizeof(sum));
38         if(root==-1) break;
39         int pos=maxn/2;
40         sum[pos]=root;
41 
42         build(pos-1);
43         build(pos+1);
44 
45         output();
46 
47 
48     }
49     return 0;
50 }

 

以上是关于Uva 699The Falling Leaves的主要内容,如果未能解决你的问题,请参考以下文章

UVA699 UVALive5471 The Falling Leaves树权和

下落的树叶 (The Falling Leaves UVA - 699)

The Falling Leaves UVA - 699

UVa 699 The Falling Leaves(递归建树)

Uva 699The Falling Leaves

UVa699 - The Falling Leaves