博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
669:The Falling Leaves
阅读量:6688 次
发布时间:2019-06-25

本文共 890 字,大约阅读时间需要 2 分钟。

这道题还是递归,仿照上道题的思路挺容易的,不过看了看书上的代码个人觉得我的代码更简洁,思路更清晰些哈哈。

我的思路:开个负下标数组,记录每个位置的权重之和,用 p 记录当前节点位置,那么其左节点位置为 p - 1,右节点位置为 p + 1,依次递归增加相应位置的权重,同时更新最右和最左边位置。

#include
using namespace std;const int maxn = 10000 + 5;int _[maxn*2];int *cnts = _ + maxn; //负下标数组 指针位于中间int pl,pr;void solve(int p,int n){ if(p > pr) pr = p; if(p < pl) pl = p; cnts[p] += n; scanf("%d",&n); if(n != -1) solve(p-1,n); scanf("%d",&n); if(n != -1) solve(p+1,n);}int main(){ // freopen("data.in","r",stdin); // freopen("data.out","w",stdout); int p,n,t = 0; while(scanf("%d",&n) && n != -1){ p = 0; pl = maxn; pr = -maxn; memset(_,0,sizeof(_)); solve(p,n); printf("Case %d:\n",++t); for(int i = pl;i < pr;i++) printf("%d ",cnts[i]); printf("%d\n\n",cnts[pr]); } return 0;}

转载于:https://www.cnblogs.com/JingwangLi/p/10202712.html

你可能感兴趣的文章
putty连接 输入用户名后半天才弹出输入密码
查看>>
Linux 创建用户
查看>>
Debian6 mod_spdy 测试
查看>>
Unity - NullReferenceException: Object reference not set to an instance of an object
查看>>
1.1Tinking In Java——析构函数2
查看>>
String的一些基本方法
查看>>
log4j2中文乱码解决方案
查看>>
我的友情链接
查看>>
ABP实时服务-通知系统.发布模式
查看>>
tomcat
查看>>
CentOs7中的网卡配置工具
查看>>
第7章WEB07- JDBC篇
查看>>
django 问题收集
查看>>
if判断 分数
查看>>
高规格虚机 sys cpu高现场分析工具箱
查看>>
怎么把图片转成JPG格式
查看>>
教你如何将网页上的视频下载到手机
查看>>
字节码学院|编程是未来社会的基本能力
查看>>
JDK 1.8.0_144 集合框架之LinkedHashMap
查看>>
MySQL学习之如何快速扩展数量
查看>>