acm之动态规划题目3
2016-06-23 10:32
393 查看
Problem Description
在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的:有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少?
已经告诉你了,这是个DP的题目,你能AC吗?
Input
输入数据首先包括一个整数C,表示测试实例的个数,每个测试实例的第一行是一个整数N(1 <= N <= 100),表示数塔的高度,接下来用N行数字表示数塔,其中第i行有个i个整数,且所有的整数均在区间[0,99]内。Output
对于每个测试实例,输出可能得到的最大和,每个实例的输出占一行。Sample Input
15
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
Sample Output
30代码:
#include<stdio.h> int max(int a,int b){ return a>b?a:b; } int main(){ int a,b; int i,j,k; scanf("%d",&a); while(a!=0){ scanf("%d",&b); int arr[b][b]; for(j=0;j<b;j++){ for(k=0;k<j+1;k++){ scanf("%d",&arr[j][k]); } } for(i=b-2;i>=0;i--){ for(j=0;j<i+1;j++){ arr[i][j]+=max(arr[i+1][j],arr[i+1][j+1]); } } printf("%d\n",arr[0][0]); a--; } return 0; }
相关文章推荐
- IntelliJ IDEA中拼写检查还是打开的好,为什么呢 ?
- Caffe代码导读(1):Protobuf例子
- HF集成AirKiss、微信局域网控制
- JS刷新当前页面的几种方法总结
- 合天网安实验室CTF练习赛之逆向题
- 状态选择器
- Ubuntu下Eclipse无法添加Tomcat7解决方法
- iOS 程序间跳转传参(支付和地图)
- lucene学习六:lucene全文检索与数据库查询的比较
- [leetcode] Nim Gam
- Bootstrap中文本框的宽度变窄并且加入一副验证码图片的实现方法
- Android中通过反射获取资源Id(特别用在自己定义一个工具将其打成.jar包时,特别注意资源的获取)
- jenkins相关命令
- java并发的处理方式
- 重温指针数组和数组指针
- js 弹出子页面与关闭子页面刷新父页面的问题
- android之TabWidget选项卡
- ARM Linux 3.x的设备树(Device Tree)
- json简介
- Caffe代码导读(0):路线图