HDU 2084 数塔(DP)
来源:互联网 发布:网络作者亘古传奇 编辑:程序博客网 时间:2024/05/21 22:21
数塔
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 48599 Accepted Submission(s): 28771
Problem Description
在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的:
有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少?
已经告诉你了,这是个DP的题目,你能AC吗?
有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少?
已经告诉你了,这是个DP的题目,你能AC吗?
Input
输入数据首先包括一个整数C,表示测试实例的个数,每个测试实例的第一行是一个整数N(1 <= N <= 100),表示数塔的高度,接下来用N行数字表示数塔,其中第i行有个i个整数,且所有的整数均在区间[0,99]内。
Output
对于每个测试实例,输出可能得到的最大和,每个实例的输出占一行。
Sample Input
1573 88 1 0 2 7 4 44 5 2 6 5
Sample Output
30
代码:
#include<stdio.h>#define max(a,b) a>b?a:bint i,j,pyramid[105][105];int main(){ int test_case; scanf("%d",&test_case); while(test_case--){ int height; scanf("%d",&height); for(i=0;i<height;i++){ for(j=0;j<=i;j++){ scanf("%d",&pyramid[i][j]); } }//验证数塔输入是否正确// for(i=0;i<height;i++){// for(j=0;j<=i;j++){// printf("%d",pyramid[i][j]);// }// printf("\n");// } for(i=height-1;i>0;i--){ for(j=0;j<i;j++){ pyramid[i-1][j]+=max(pyramid[i][j],pyramid[i][j+1]);//查看哪些数在比较,比较后更新的值为多少// printf("%d %d %d\n",pyramid[i-1][j],pyramid[i][j],pyramid[i][j+1]); }// printf("\n"); } printf("%d\n",pyramid[0][0]); } return 0;}
PS:慎用#define max(a,b) a>b?a:b(还是我太菜了ORZ)由于直接替换i=max(i,j)+i;变成i=i>j?i:j+i;没实现我的目标效果
应改为i=(max(i,j))+i;或i+=max(i,j);
这bug看了半天才发现,头发又掉了不少(ಥ_ಥ)
阅读全文
0 0
- HDU 2084 数塔 dp
- hdu 2084 数塔 dp
- HDU 2084 数塔 DP
- HDU 2084 数塔(dp)
- HDU 2084 数塔 DP
- hdu 2084 数塔(dp)
- HDU 2084 数塔(DP)
- HDU 2084 数塔(DP)
- hdu 2084 数塔 dp
- HDU 2084 数塔 (DP)
- HDU-2084-数塔【DP】
- HDU 2084 数塔 DP .
- HDU 2084 数塔 dp
- HDU 2084 数塔(DP)
- hdu 2084 数塔(DP水)
- hdu 2084 数塔(dp ,水)
- hdu 2084 数塔 最基础DP
- HDU 2084 数塔 DP入门
- Maven install:javac:无效的目标版本1.8
- Zookeeper配置文件参数与含义
- Angular4_父子组件,组件之间交互
- keil仿真时查看变量出现 not in scope 问题的解决
- Express blog从零开始搭建(2)
- HDU 2084 数塔(DP)
- 【Scikit-Learn 中文文档】神经网络模型(无监督)- 无监督学习
- ubuntu server 16.04 ,如何将优盘内容复制到server中
- matlab——cell(以及和struct的转换)
- Java_JVM参数-XX:MaxDirectMemorySize 与 两种 ByteBuffer: heap,direct ByteBuffer
- 如何使用python API?
- MFC(7) 利用CWinThread实现跨线程父子MFC窗口
- 变量、作用域和内存问题
- 从0到1 | 0基础/转行 如何用3个月学会Python机器学习