博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CCF NOI1145 数字金字塔【DP】
阅读量:6690 次
发布时间:2019-06-25

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

问题链接


时间限制: 1000 ms  空间限制: 262144 KB

题目描述 

  观察下面的数字金字塔。写一个程序查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以从当前点走到左下方的点也可以到达右下方的点。

 

  在上面的样例中,从7到3到8到7到5的路径产生了最大的和30。

输入

  第一个行包含R(1<= R<=1000),表示行的数目。

  后面每行为这个数字金字塔特定行包含的整数。
  所有的被供应的整数是非负的且不大于100。

输出

  单独的一行,包含那个可能得到的最大的和。

样例输入

5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5

样例输出

30

数据范围限制

  1<= R<=1000

提示

 


问题分析

  这个题与《》几乎相同。其中,最大行数不一样,需要改为1000,此外输入就一个三角形(原题需要重复计算多个三角形)。

  直接计算就可以了,关键是如何用二维数组存储数据,以及数据之间的规律(递推计算过程)。

程序说明

  程序是CV过来的,小改一下就AC了。

要点详解
  • 程序写多了,似曾相识的也就多了。


参考链接


100分通过的程序:

#include 
#include
#define N 1000int grid[N][N];int max;int mymax(int left, int right){ return left > right ? left : right;}int setmax(int n){ int i, j; for(i=1; i
max) max = grid[i][j]; return max;}int main(void){ int r, i, j; memset(grid, 0, sizeof(grid)); scanf("%d", &r); for(i=0; i

转载于:https://www.cnblogs.com/tigerisland/p/7563825.html

你可能感兴趣的文章
【CodeForces 604B】F - 一般水的题1-More Cowbe
查看>>
wxPython 4.0.0b2安装
查看>>
Android RecyclerView利用Glide加载大量图片into(Target)导致OOM异常
查看>>
UGUI表情系统解决方案
查看>>
HTTP Health Checks
查看>>
为什么正态分布如此普遍
查看>>
jQuery事件
查看>>
轻松看懂Java字节码
查看>>
AE TIN的切割
查看>>
ASP.NET图片上传,删除
查看>>
2016第42周五
查看>>
架构师必看-架构之美第14章-两个系统的故事:设计之城(一)
查看>>
Hessian HTTP POST访问时,Nginx返回411问题
查看>>
Exif图片方向的一些发现
查看>>
iOS之传值
查看>>
pandas 修改 DataFrame 列名
查看>>
《2018年云上挖矿态势分析报告》发布,非Web类应用安全风险需重点关注
查看>>
Nervos 双周报第 3 期:佛系新年之后的开工大吉!
查看>>
【PHP 扩展开发】Zephir 基础篇
查看>>
怎么将在线录制的视频转为GIF动态图
查看>>