博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu2084
阅读量:5342 次
发布时间:2019-06-15

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

                                   数塔

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 15891    Accepted Submission(s): 9494

Problem Description
在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的:
有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少?
已经告诉你了,这是个DP的题目,你能AC吗?
 

 

Input
输入数据首先包括一个整数C,表示测试实例的个数,每个测试实例的第一行是一个整数N(1 <= N <= 100),表示数塔的高度,接下来用N行数字表示数塔,其中第i行有个i个整数,且所有的整数均在区间[0,99]内。
 

 

Output
对于每个测试实例,输出可能得到的最大和,每个实例的输出占一行。
 

 

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

 

Sample Output
30

 

#include
using namespace std;int main(){ int n; scanf("%d",&n); int map[110][110],i,j,m; while(n--) { scanf("%d",&m); memset(map,0,sizeof(map)); for(i=1;i<=m;i++) { for(j=1;j<=i;j++) { scanf("%d",&map[i][j]); } } for(i=m-1;i>=1;i--) { for(j=1;j<=i;j++) { int temp = map[i+1][j]; if(map[i+1][j+1] > temp) { temp = map[i+1][j+1]; } map[i][j] += temp; } } cout << map[1][1]<

 

转载于:https://www.cnblogs.com/Deng1185246160/p/3233020.html

你可能感兴趣的文章
带你全面了解高级 Java 面试中需要掌握的 JVM 知识点
查看>>
sonar结合jenkins
查看>>
解决VS+QT无法生成moc文件的问题
查看>>
AngularJs练习Demo14自定义服务
查看>>
stat filename
查看>>
关于空想X
查看>>
CF1067C Knights 构造
查看>>
[BZOJ2938] 病毒
查看>>
webstorm修改文件,webpack-dev-server不会自动编译刷新
查看>>
Scikit-learn 库的使用
查看>>
CSS: caption-side 属性
查看>>
python 用数组实现队列
查看>>
认证和授权(Authentication和Authorization)
查看>>
Mac上安装Tomcat
查看>>
CSS3中box-sizing的理解
查看>>
传统企业-全渠道营销解决方案-1
查看>>
Lucene全文检索
查看>>
awk工具-解析1
查看>>
推荐一款可以直接下载浏览器sources资源的Chrome插件
查看>>
CRM product UI里assignment block的显示隐藏逻辑
查看>>