下落的树叶,紫书P159UVa699
来源:互联网 发布:西安培训班软件 编辑:程序博客网 时间:2024/04/24 20:52
此题可以说是天平的同一种类型题。运用DFS的方法来直接构建,计算二叉树。本题采用数组标记法是很直观的思路,刚开始由于不知道原题目规定了树的最大水平宽度不超过80,因此建一个200的数组就足够了。
核心还是递归程序的构建,要反复思考。
// UVa699 The Falling Leaves// Rujia Liu#include<cstring>#include<iostream>using namespace std;const int maxn = 200;int sum[maxn];void build(int p) { int v; cin >> v; if(v == -1) return; //递归出口 sum[p] += v; build(p - 1);//DFS 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; build(pos - 1); //DFS 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]; p++; } cout << "\n\n"; } return 0;}
阅读全文
0 0
- 下落的树叶,紫书P159UVa699
- 下落的树叶
- 例题:下落的树叶
- 下落的树叶(The Falling Leaves)
- 算法竞赛入门经典 下落的树叶
- UVA 699 下落的树叶 (p159, 二叉树的 DFS)
- 例题6-10 下落的树叶 UVa 699
- The Falling Leaves 下落的树叶 UVA 699(二叉树)
- 紫书章六例题10 下落的树叶 UVA 699 (根据前序遍历建树)
- UVA699-例题6-10 下落的树叶(The Falling Leaves,UVa 699)
- 例题6-10 下落的树叶(The Falling Leaves, UVa 699)
- 算法——递归篇——树叶下落问题
- 扫树叶的小和尚
- 扫树叶的小和尚
- ps树叶的雕刻
- 【JSOI2016】独特的树叶
- 实现俄罗斯方块的下落
- 编程画出千姿百态的树叶
- java易错题(2)
- ubuntu知识杂记篇
- java.sql.Date和java.util.Date区别及使用
- Struts.xml中Action的method与路径的三种匹配方法
- Django入门-5:模型的基本使用4-模型查询
- 下落的树叶,紫书P159UVa699
- 首次将本地代码上传至github
- 文章标题
- 字符串组合“S1+C1+S2+C2+S3”-欢聚时代笔试题
- Go语言中如何控制并发
- Add Two Numbers
- springboot Jar包 秒部署到Linux服务器运行
- 浅谈贝叶斯定理
- 第十届全国大学生信息安全竞赛-线上赛 write up(持续更新)