UVa 699 The Falling Leaves(递归建树)
2024-10-07 02:35:13
UVa 699 The Falling Leaves(递归建树)
假设一棵二叉树也会落叶 而且叶子只会垂直下落 每个节点保存的值为那个节点上的叶子数 求所有叶子全部下落后 地面从左到右每堆有多少片叶子
和UVa 839 -- Not so Mobile(树的递归输入)有点像 都是递归输入的 一个节点(设水平位置为p) 则它的左右儿子节点的水平位置分别为 p-1 p+1 也是可以边输入边处理的 输入完也就得到答案了 注意每个样例后面都有一个空行 包括最后一个
#include<iostream>
#include<cstring>
using namespace std;
const int maxn = ;
int sum[maxn];
void build(int p)
{
int v;
cin>>v;
if(v == -) return;
sum[p] += v;
build(p-);build(p+);
} bool init()
{
int v;
cin>>v;
if(v == -) return false;
memset(sum,,sizeof(sum));
sum[maxn/] += v;
build(maxn/-);build(maxn/+);
return true;
} int main()
{
int kase = ;
while(init())
{
int p=;
while(sum[p] == ) p++;
cout<<"Case "<<++kase<<":"<<endl;
for(int i=p;;i++)
{
if(sum[i] == )
{
cout<<endl<<endl;break;
}
if(i!=p) cout<<" ";
cout<<sum[i];
}
}
return ;
}
最新文章
- 张高兴的 UWP 开发笔记:横向 ListView
- 新建 ASP.NET Core Web API 项目 -- RESTFul 风格 Hello World!
- c#线程之异步委托begininvoke、invoke、AsyncWaitHandle.WaitOne 、异步回调
- ZOJ 1234 Chopsticks
- [King.yue]Ext中Grid得到选择行数据的方法总结
- C#开发移动平台iOS、Android 与Windows
- java并发4-单例设计方法
- IOS自学笔记1——学前准备
- mysql HA方案: MHA
- express 4.x 文件上传
- sqlserver查询数据库中有多少个表
- shell 脚本编写 if else then
- C++ RCSP智能指针简单实现与应用
- VS发布网站时,报错提示:“未能将文件xxx复制到xxx,未能找到文件xx”三种解决方案!
- StringBuufer与StringBulder线程的区别
- ORA-01440: column to be modified must be empty to decrease precision or scale
- (33)关于django中路由自带的admin + 建表关系的讲解
- wifidog 源码初分析(1)-转
- stl学习记录(2)
- Winform无边框窗体拖动