数塔 简单的 动态规划
2016-03-01 13:01
232 查看
![](http://images2015.cnblogs.com/blog/829161/201603/829161-20160301125735939-1041512137.png)
![](http://images2015.cnblogs.com/blog/829161/201603/829161-20160301125750970-1329966668.png)
挺简单的 , 从下向上将 下一行的 数字向上 一行 加 然后 将 这一行的 再向上 + 加到 最上面的时候 最上面的 就是 最大的值
#include<stdio.h> #include<algorithm> using namespace std; int a[101][101]; int max(int x,int y) { return x>y?x:y; } int main() { int i,j,n,t; scanf("%d",&t); while(t--) { scanf("%d",&n); for(i=0;i<n;i++) { for(j=0;j<=i;j++) { scanf("%d",&a[i][j]); // 输入数塔 完成 } } for(i=n-2;i>=0;i--) { for(j=i;j>=0;j--) { a[i][j]=max(a[i+1][j]+a[i][j],a[i+1][j+1]+a[i][j]); } } printf("%d\n",a[0][0]); } return 0; }
相关文章推荐
- android图片的裁剪
- 不修改代码就能优化ASP.NET网站性能的一些方法
- 在windows平台上安装部署redmine
- 选择使用Spring框架的原因(Spring框架为企业级开发带来的好处有哪些)
- awk 反过滤不想要的列 和循环列
- android Shape Drawable创建两边半圆的按钮背景
- linux glibc 安全漏洞 CVE-2015-7547 修复与检测方法
- 概率统计:第二章 随机变量及其分布
- C语言的编译器及编译过程
- Bottom Sheet
- ACM_模板_背包问题
- 采用hudson部署javaWeb项目
- Linux常用命令
- YII2 源码阅读 综述
- 创建一个学生系统,实现一下功能; * 1:增加学生 * 2:显示学生 * 3:修改学生 * 4:删除学生 * 5:查找学生 * 6:退出程序 * 请输入选择(
- cmake使用示例与整理总结
- 概率统计:第一章 概率论的基本概念
- jq判断checkbox是否选中的三种方法
- Ajax跨域问题解决(Ajax JSONP)
- [资料]软件测试