51Nod 1002 数塔取数问题
来源:互联网 发布:淘宝客服打电话要好评 编辑:程序博客网 时间:2024/06/05 17:38
一个高度为N的由正整数组成的三角形,从上走到下,求经过的数字和的最大值。
每次只能走到下一层相邻的数上,例如从第3层的6向下走,只能走到第4层的2或9上。
5
8 4
3 6 9
7 2 9 5
例子中的最优方案是:5 + 8 + 6 + 9 = 28
Input
第1行:N,N为数塔的高度。(2 <= N <= 500)
第2 - N + 1行:每行包括1层数塔的数字,第2行1个数,第3行2个数……第k+1行k个数。数与数之间用空格分隔(0 <= A[i] <= 10^5) 。
Output
输出最大值
Input示例
4
5
8 4
3 6 9
7 2 9 5
Output示例
28
#include"cstdio"#include"algorithm"#include"cstring"using namespace std;int main(){ int n; scanf("%d",&n); int a[n+1][n+1]; int dp[n+1][n+1]; memset(dp,0,sizeof(dp)); int i, j, k; for(i=1;i<=n;i++) { for(j=1;j<=i;j++) { scanf("%d",&a[i][j]); } } int maxn=0; for(i=1;i<=n;i++) { for(j=1;j<=i;j++) { dp[i][j]=max(dp[i-1][j],dp[i-1][j-1])+a[i][j]; if(maxn<dp[i][j]) maxn=dp[i][j]; } } printf("%d\n",maxn); return 0; }
也是一个新手学动态规划的好题目。把到达每个点的最优方案都找出来,然后,把最大的保存起来,最后输出就可以了~~
0 0
- 51Nod 1002 数塔取数问题
- 51 nod 1002 数塔取数问题
- 51nod 1002 数塔取数问题
- 51nod:1002 数塔取数问题
- 51nod 1002 数塔取数问题
- 51nod-【1002 数塔取数问题】
- 51nod 1002 数塔取数问题
- 51Nod 1002 数塔取数问题
- 51nod 1002 数塔取数问题
- 1002 数塔取数问题 51NOD
- 51nod 1002 数塔取数问题
- 51nod 1002 数塔取数问题
- 51Nod 1002 数塔取数问题
- 【51Nod】1002 数塔取数问题
- 51Nod--1002 数塔取数问题
- 51Nod 1002 数塔取数问题
- 51nod 1002 数塔取数问题
- 51nod 1002 数塔取数问题
- Fiddler使用脚本更改RequestHeaders和RequestBody及ResponseBody中的JSON数据
- Eclipse使用小技巧
- 大学生创新创业政策补贴 说明
- effective java 读书笔记---第9章 异常
- [深度学习] 《Deep Learning》(深度学习)中文版开放下载
- 51Nod 1002 数塔取数问题
- Linux--从解压安装JDK开始
- fseek 扩展文件
- Redis的常用命令及高级应用开发
- 从今天开始我也用ubuntu做开发环境了
- 64. Minimum Path Sum
- Linux实验(二)
- 从0开始搭建一个战棋游戏的AI(初级教程)
- 记忆化搜索入门——数塔