POJ 3176 Cow Bowling(基础DP)
来源:互联网 发布:跑步路线规划软件 编辑:程序博客网 时间:2024/06/10 16:47
Cow Bowling
Description
The cows don't use actual bowling balls when they go bowling. They each take a number (in the range 0..99), though, and line up in a standard bowling-pin-like triangle like this:
Given a triangle with N (1 <= N <= 350) rows, determine the highest possible sum achievable.
7 3 8 8 1 0 2 7 4 4 4 5 2 6 5Then the other cows traverse the triangle starting from its tip and moving "down" to one of the two diagonally adjacent cows until the "bottom" row is reached. The cow's score is the sum of the numbers of the cows visited along the way. The cow with the highest score wins that frame.
Given a triangle with N (1 <= N <= 350) rows, determine the highest possible sum achievable.
Input
Line 1: A single integer, N
Lines 2..N+1: Line i+1 contains i space-separated integers that represent row i of the triangle.
Lines 2..N+1: Line i+1 contains i space-separated integers that represent row i of the triangle.
Output
Line 1: The largest sum achievable using the traversal rules
Sample Input
573 88 1 02 7 4 44 5 2 6 5
Sample Output
30
经典的动态规划
定义dp[i][j]为从底端到第i行j列元素所经过的路径上元素和的最大值,所以
dp[i][j] = max(dp[i + 1][j],dp[i + 1][j + 1]) + a[i][j]
代码如下:
#include <cstdio>#include <algorithm>using namespace std;const int maxn = 355;int dp[maxn][maxn],a[maxn][maxn];int main(){int n,i,j,k;while(scanf("%d",&n) != EOF){for(i = 0;i < n;i++){for(j = 0;j <= i;j++){scanf("%d",&a[i][j]);}}for(i = n - 1;i >= 0;i--){for(j = 0;j <= i;j++){dp[i][j] = max(dp[i + 1][j],dp[i + 1][j + 1]) + a[i][j];}}printf("%d\n",dp[0][0]);}return 0; }
0 0
- POJ 3176 Cow Bowling(基础DP)
- Cow Bowling(POJ, 3176, 基础dp)
- POJ-3176 Cow Bowling【基础DP】
- poj 3176 -- Cow Bowling (dp)
- POJ 3176 Cow Bowling (dp)
- POJ 3176 Cow Bowling(dp)
- 【POJ】3176 - Cow Bowling(dp)
- POJ-3176-Cow Bowling-(简单dp)
- POJ 3176 Cow Bowling DP
- poj-3176-Cow Bowling-dp
- poj 3176 Cow Bowling (DP)
- poj 3176 Cow Bowling dp
- POJ 3176 Cow Bowling DP
- poj 3176Cow Bowling DP
- Poj 3176 Cow Bowling【dp】
- POJ 3176 Cow Bowling (dp)
- POJ Cow Bowling(dp)
- Cow Bowling(POJ 3176)
- iOS开源加密相册Agony的实现(三)
- 使用fastjson和xUtils框架来获取聚合笑话数据
- jQuery Mobile 笔记三
- 由一个简单示例 引出java继承中父子类成员变量共享问题 以及super的使用
- ng-if
- POJ 3176 Cow Bowling(基础DP)
- TASKKILL命令使用大全 用来终止进程的
- 贪心算法——区间找点问题
- Codevs 3287 货车运输 2013年NOIP全国联赛提高组(带权LCA+并查集+最大生成树)
- 用struts2 的<s:submit>显示的图标为什么会靠上显示,而不是居中显示
- XZ_iOS之在webView的头部添加一个头视图并随着webView滚动,webView底部的黑色部分去掉
- 安卓网络(一)
- JS return false 与 return true
- 易语言程序防破解的常用方法