例题:下落的树叶
来源:互联网 发布:云服务器端口8080作用 编辑:程序博客网 时间:2024/04/26 10:57
给一颗二叉树,每个节点都有一个水平位置:左子节点在它左边1个单位,右子节点在右边1个单位。从左向右输出每个垂直位置的所有节点的权值之和。如图所示,从左到右的3个位置权和分别为7,11,3。按照递归(先序)方式输入,用-1表示空树。
Sample Input
5 7 -1 6 -1 -1 3 -1 -1
8 2 9 -1 -1 6 5 -1 -1 12 -1
-1 3 7 -1 -1 -1
-1
Sample Output
Case 1:
7 11 3
Case 2:
9 7 21 15
#include<iostream>#include<algorithm>#include<cmath>#include<cstring>#include<string>using namespace std;const int maxn = 100;int sum[maxn];//输入并统计一颗子树,树根水平位置为pvoid 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;int pos = maxn / 2;sum[pos] = v;build(pos - 1);//按照递归(先序)方式输入build(pos + 1);return true;}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++];}return 0;}
0 0
- 例题:下落的树叶
- 例题6-10 下落的树叶 UVa 699
- 下落的树叶
- 下落的树叶,紫书P159UVa699
- 紫书章六例题10 下落的树叶 UVA 699 (根据前序遍历建树)
- UVA699-例题6-10 下落的树叶(The Falling Leaves,UVa 699)
- 例题6-10 下落的树叶(The Falling Leaves, UVa 699)
- 下落的树叶(The Falling Leaves)
- 算法竞赛入门经典 下落的树叶
- UVA 699 下落的树叶 (p159, 二叉树的 DFS)
- The Falling Leaves 下落的树叶 UVA 699(二叉树)
- 算法——递归篇——树叶下落问题
- 扫树叶的小和尚
- 扫树叶的小和尚
- ps树叶的雕刻
- 【JSOI2016】独特的树叶
- UVa 679 例题6-6 小球下落(Dropping Balls)
- 例题6-6 小球下落(Dropping Balls, UVa 679)
- offsetX pageX clientX screenX
- [console] earlycon实现流程
- 计算2个日期之间相差的天数
- sccala基础学习下
- 性能优化:RxJava异步响应式编程提升响应速度
- 例题:下落的树叶
- Gradle基础学习
- mac上安装mysql.dmg
- poj 2635 The Embarrassed Cryptographer
- C语言-变量作用域
- js表单验证
- css设置标签的水平与垂直居中,定位与弹性盒布局的的结合
- 源码-JavaScript&jQuery交互式前端开发-第6章-事件-鼠标事件-确定光标位置
- 连接sqlite数据库操作C#版