51nod 1002 数塔取数
来源:互联网 发布:广联达软件视频教学 编辑:程序博客网 时间:2024/05/22 17:41
一个高度为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示例
458 43 6 97 2 9 5
Output示例
28
#include <stdio.h>int main(){int n, i, j, max;int tower[501][501];int dp[501][501];scanf("%d", &n);for (i = 0; i < n; i++)for (j = 0; j <= i; j++)scanf("%d", &tower[i][j]);dp[0][0] = tower[0][0];max = dp[0][0];for (i = 1; i < n; i++){for (j = 0; j <= i; j++){if (j == 0 || dp[i - 1][j - 1] <= dp[i - 1][j])dp[i][j] = dp[i - 1][j] + tower[i][j];else if (j == i || dp[i - 1][j - 1] >= dp[i - 1][j])dp[i][j] = dp[i - 1][j - 1] + tower[i][j];if (dp[i][j] > max)max = dp[i][j];}}printf("%d\n", max);return 0;}
阅读全文
0 0
- 51nod 1002 数塔取数
- 51Nod 1002 数塔取数问题
- 51 nod 1002 数塔取数问题
- 51nod 1002数塔取数 dp
- 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 数塔取数问题
- Okabe and Boxes CodeForces
- eclipse远程调试Tomcat方法
- 工业物联网四大关键元素 网络、处理、接口与安全性
- docker安装与使用
- -lpthread option of gcc
- 51nod 1002 数塔取数
- easyUI中表格实现导出excel功能
- imageview.setImageResource()不显示
- RedisTemplate使用
- 科研要求
- WebService 基础
- 2017 Multi-University Training Contest
- 虚拟机网络配置
- 【今日荐文】怎样才能成为一名20K以上的高级JAVA工程师