POJ3176-Cow Bowling
2016-04-17 17:03
197 查看
这么多天对DP还是研究的不够透彻,DP入门第一题。
初始条件为dp[0][0]=tip的值,其余dp[i][j]取决于dp[i-1][j]和dp[i-1][j-1]和本身dp[i][j]的值。
初始条件为dp[0][0]=tip的值,其余dp[i][j]取决于dp[i-1][j]和dp[i-1][j-1]和本身dp[i][j]的值。
#include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int MAXN = 350; int bowl[MAXN+5][MAXN+5]; int dp[MAXN+5][MAXN+5]; int main() { int n; scanf("%d", &n); memset(bowl, -1, sizeof(dp)); for (int i = 0; i < n; i++) { for (int j = 0; j <= i; j++) { scanf("%d", &bowl[i][j]); } } dp[0][0] = bowl[0][0]; for (int i = 1; i < n; i++) { for (int j = 0; j <= i; j++) { if (j - 1 < 0) { dp[i][j] = max(dp[i-1][j]+bowl[i][j], dp[i][j]); } else dp[i][j] = max(max(dp[i-1][j], dp[i-1][j-1])+bowl[i][j], dp[i][j]); } } int ans = 0; for (int i = 0; i < n; i++) { ans = max(ans, dp[n-1][i]); } printf("%d\n", ans); return 0; }
相关文章推荐
- WebSocket(2)--为什么引入WebSocket协议
- WebSocket(3)-- WebSocket协议简介
- linux中的帮助命令
- 构建之法阅读笔记03
- python显示系统信息脚本
- HDU 4411 Arrest 费用流
- virual box快速安装max系统
- Five-People:常用控件及其属性(RadioButton,CheckBox,align,margin,padding)使用方法
- 静态类型与动态类型
- 依赖注入、控制反转
- BCGControlBar使用方法
- asp.net控件库FineUI使用入门图解
- Java逻辑运算符&和&&、|和||区别
- 进程间通信之匿名管道
- Request异步请求处理PART2
- 第八周项目三 指向学生类的指针
- AngularJS学习笔记—事件指令
- WebSocket(1)-- WebSocket API简介
- ibatis 中的#与$
- linux内核分析 第八周