UVa 699 The Falling Leaves
2015-03-14 10:58
85 查看
题意:给出按先序输入的一颗二叉树,分别求出从左到右的相同横坐标上的节点的权值之和
递归建树,然后用sum数组分别统计每一个横坐标上的权值之和
感觉建树都在递归递归递归= =慢慢理解吧
View Code
go---go--go
递归建树,然后用sum数组分别统计每一个横坐标上的权值之和
感觉建树都在递归递归递归= =慢慢理解吧
#include<iostream> #include<cstdio> #include<cstring> #include <cmath> #include<algorithm> using namespace std; typedef long long LL; const int maxn=2000; int sum[maxn]; void build(int p){ int v; cin>>v; if(v==-1) return; sum[p]+=v; build(p-1);//建左子树 build(p+1);//建右子树 } bool init(){ int v; cin>>v; if(v==-1) return false; memset(sum,0,sizeof(sum)); int pos=maxn/2; sum[pos]=v; // printf("init被调用\n"); build(pos-1);build(pos+1); } int main() { int kase=0; while(init()){ int p=0; while(sum[p]==0) p++; cout<<"Case "<<++kase<<":\n"<<sum[p++]; while(sum[p]!=0) cout<<" "<<sum[p++]; cout<<"\n\n"; } return 0; }
View Code
go---go--go
相关文章推荐
- uva 699 The Falling Leaves
- UVa 699 落叶
- UVA - 699 The Falling Leaves
- 下落的树叶(UVa 699)
- UVA 699 The Falling Leaves
- Uva-699 - The Falling Leaves(二叉树与递归)
- UVA.699 The Falling Leaves (二叉树 思维题)
- 例题6-10 下落的树叶(The Falling Leaves, UVa 699)
- uva 699 The Falling Leaves(建二叉树同一时候求和)
- UVA 699 二叉树结合数组求求解点的值
- UVA 699 - The Falling Leaves
- UVa699-The Falling Leaves(下落的叶子)
- uva 699
- UVA - 699 The Falling Leaves
- The Falling Leaves UVA - 699
- uva 699 The Falling Leaves(建树)
- UVA 699 - The Falling Leaves
- UVA699 - The Falling Leaves
- uva_699_The Falling Leaves
- UVA - 699 The Falling Leaves (给出前序遍历,构建二叉树)