P OJ-----3176DP动态规划入门
来源:互联网 发布:ecs 阿里云 编辑:程序博客网 时间:2024/06/06 07:44
Cow Bowling
Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 17407 Accepted: 11611
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
数字组成三角形,像杨辉三角一样,问从上到下只能走下方相邻的两个中的一个,所有数字之和最大是多少,另开一个数组储存每层的最大值,从下往上计算,最后最上方的那个就是最大值
#include<cstdio>#include<algorithm>using namespace std;int s[360][360], ss[360][360];int main(){int n;scanf("%d", &n);for(int i = 0; i < n; i++){for(int j = 0; j <= i; j++){scanf("%d", &s[i][j]);}}for(int i = 0; i < n; i++){ss[n-1][i] = s[n-1][i];}for(int i = n-2; i >= 0; i--){for(int j = 0; j <= i; j++){ss[i][j] = s[i][j] + max(ss[i+1][j], ss[i+1][j+1]);}}printf("%d\n", ss[0][0]);return 0;}
优化
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int map[360][360];int main(){int t, n;scanf("%d", &t);while(t--){memset(map, 0, sizeof(map));scanf("%d", &n);for(int i = 0; i < n; i++){for(int j = 0; j <= i; j++){scanf("%d", &map[i][j]);}}for(int i = n-2; i >= 0; i--){for(int j = 0; j <= i; j++){map[i][j] = max(map[i+1][j], map[i+1][j+1]) + map[i][j];}}printf("%d\n", map[0][0]);}return 0;}
0 0
- P OJ-----3176DP动态规划入门
- 动态规划入门 DP基础
- VF 动态规划系列dp入门
- 动态规划之状态压缩dp入门
- 动态规划之插头DP入门
- 动态规划(dp)入门解题报告
- [动态规划]POJ3616(dp入门题)
- 动态规划之状态压缩dp入门
- 动态规划之状态压缩dp入门
- 动态规划DP入门 0-1背包
- 动态规划 problem P
- 动态规划—Problem P
- Java动态规划模板 P
- 动态规划(DP)——入门篇(11.24更新)
- 动态规划入门(四)DP 基本思想与实现
- 动态规划(DP)之入门学习-数字三角形
- [2016/7/28][dp]动态规划入门练习题
- 动态规划——数位dp入门(一)
- 一人我饮酒醉歌词
- 动态规划数字三角形问题
- Tempter of the Bone
- HBase相关论文阅读
- 欢迎使用CSDN-markdown编辑器
- P OJ-----3176DP动态规划入门
- ITOO中的权限管理解决方案
- HDU 2102 A计划(广度优先搜索+数据)
- Python
- IOS Dev Intro - UIView and CALayer
- hdoj2717Catch That Cow(BFS)
- 经商之道 ,无德必无财
- plsql无法初始化问题
- Android隐藏标题栏