博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDOJ-2084 数塔问题[DP入门]
阅读量:5140 次
发布时间:2019-06-13

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

数塔

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

Total Submission(s): 10651    Accepted Submission(s): 6386

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
 

 

Source
 

 

Recommend
lcy
 
 
code:
1 /* 2 1 3 5 4 7 5 3 8 6 8 1 0  7 2 7 4 4 8 4 5 2 6 5 9 */ 10 #include
11 using namespace std;12 13 #define MAX 10114 15 int tower[MAX][MAX];16 17 int main()18 {19 int i,j;20 int high,n;21 while(~scanf("%d",&n))22 {23 while(n--)24 {25 scanf("%d",&high);26 for(i=0;i
=0;i--)30 for(j=0;j<=i;j++)31 {32 if(tower[i+1][j]>tower[i+1][j+1])33 tower[i][j]+=tower[i+1][j];34 else35 tower[i][j]+=tower[i+1][j+1];36 } 37 printf("%d\n",tower[0][0]);38 }39 }40 return 0;41 }

 

转载于:https://www.cnblogs.com/XBWer/archive/2012/07/16/2593090.html

你可能感兴趣的文章
HDU 1856
查看>>
Linux 命令[9]:locate
查看>>
SQL 取时间差 去掉周末及非工作时间节假日
查看>>
MyEclipse+Struts+Hibernate+Mysql开发环境配置
查看>>
创建vue-cil后出现localhost:8080无法访问
查看>>
[HDU 2102] A计划(搜索题,典型dfs or bfs)
查看>>
Eclipse启动Tomcat端口占用
查看>>
建立索引
查看>>
php 中的魔术常量
查看>>
解释下浮动和它的工作原理?清除浮动的技巧
查看>>
改变命运的三个层次
查看>>
Command Line 3
查看>>
设计模式
查看>>
[ASP.NET]Treeview 控件显示服务端目录文件夹及文件
查看>>
dotnet core webapi +vue 搭建前后端完全分离web架构(一)
查看>>
maven打包时生成源代码
查看>>
GetLastError() 返回值含义
查看>>
浏览器的同源策略
查看>>
[转] iptables
查看>>
在Mac系统下如何恢复SourceTree全局忽略的文件
查看>>