Cow Bowling

2024-01-08 15:08
文章标签 cow bowling

本文主要是介绍Cow Bowling,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Cow Bowling

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:

          73   88   1   02   7   4   44   5   2   6   5

Then 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.

Output

Line 1: The largest sum achievable using the traversal rules

Sample Input

5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5

Sample Output

30

Hint

Explanation of the sample:

          7*3   8*8   1   0*2   7   4   4*4   5   2   6   5

The highest score is achievable by traversing the cows as shown above.

C++编写:

此题是属于动态规划,首先这道题我们看下面这图,这样每个元素对应得非常清晰,这样更加容易理解。并且这个题有个隐含条件,就是每一行的元素个数其实就等于其所在行数。

7
3 8
8 1 0
2 7 4 4
4 5 2 6 5

此题我在初始化记忆化数组的时候走入一个误区,用了下面这行代码

fill(dp,dp+N,0)

提交出现CE,后面一想其实初始化N个元素固然没错,但是这样做并没有初始化我们所想要被初始化的那N个元素,所以改成了用memset()函数,不过要用fill()函数来初始化也是可以实现的,只是需要一个循环语句而已,相对就麻烦了点,并且memset()这个函数真的好用,不过这个函数水还是很深,有兴趣的可以去了解一下,那么下面是此题代码:

#include<iostream>
#include<cstring>
using namespace std;
const int MAX_N=355;int N;
int value[MAX_N][MAX_N];      //记录每个点的值
int dp[MAX_N][MAX_N];         //记录走到每个点的最大值void solve()
{for (int i=0;i<N;i++)           //读入数据{for (int j=0;j<=i;j++)cin>>value[i][j];}memset(dp,0,sizeof(dp));        //初始化记忆化数组for(int i=0;i<N;i++)                   //得到从顶端走到每个点的最大值{for(int j=0;j<=i;j++)dp[i][j]=max(dp[i-1][j],dp[i-1][j-1])+value[i][j];           }int max=dp[N-1][0];for (int i=1;i<N;i++)            //得到最后一行的最大值{if (max<dp[N-1][i]) max=dp[N-1][i];}cout<<max<<endl;        
}int main()
{ios::sync_with_stdio(false);cin>>N;solve();
}

这篇关于Cow Bowling的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/583862

相关文章

【POJ】3660 Cow Contest floyd(可以拓扑排序?)

Cow Contest Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 6925 Accepted: 3792 Description N (1 ≤ N ≤ 100) cows, conveniently numbered 1..N, are participating i

BFS —— POJ 3278 Catch That Cow

对应POJ题目:点击打开链接 Catch That Cow Time Limit: 2000MS Memory Limit: 65536KTotal Submissions: 54686 Accepted: 17096 Description Farmer John has been informed of the location of a fugitive cow

USACO Section 2.3 Cow Pedigrees

题意: N个节点  深度为K  的正则二叉树  求  树有几种形态 思路: 一开始以为是数学题…  看了byvoid的题解才知道是dp… 每棵树由根节点、左子树、右子树构成  由此得状态转移  树=左子树*右子树 节点数和深度是影响答案的属性  所以令dp[i][j]表示i个节点深度在j以内的树的形态数 深度在j以内的树又两个深度在j-1以内的树和一个根节点构成 设左子树k个节

Codeforces 283. B. Cow Program记忆化搜索

output standard output Farmer John has just given the cows a program to play with! The program contains two integer variables, x and y, and performs the following operations on a sequence a1, a2, ..

【POJ3270】【Cow Sorting】

Cow Sorting Time Limit: 2000MS Memory Limit: 65536KTotal Submissions: 6411 Accepted: 2488 Description Farmer John's N (1 ≤ N ≤ 10,000) cows are lined up to be milked in the evening. Each

【POJ3268】【Silver Cow Party】【反向dij】【sizeof失效】

Silver Cow Party Time Limit: 2000MS Memory Limit: 65536KTotal Submissions: 15522 Accepted: 7039 Description One cow from each of N farms (1 ≤ N ≤ 1000) conveniently numbered 1..N is going

POJ 1985 Cow Marathon(树的直径)

题目链接 题意:给出一棵树,求出这个树的直径 解答:任选一点进行dfs,会找到一个最远点s,在以这个最远点s进行dfs,会找到一个最远点是t,那么s-t就是树的直径。 //#include<bits/stdc++.h>#include<cstdio>#include<algorithm>#include<vector>#include<cstring>using namespace

POJ 2184 Cow Exhibition (处理负值的01背包)

【题目链接】:click here~~ 【题意】: 题意:给定n头牛的聪明指数S和幸福指数F,如果存在S的和TS>=0与F的和TF>=0同时成立时, 输出TS与TF的和的最大值sum,否则,输出0。 【思路】:      转化问题,求s和为某个固定值时候最大的f和值,然后遍历这些所有的s和以及对应的f和值,求出总和总和最大的那个。      那么这样就是一个0-1背包问题,可以把s值理解

poj3278--Catch That Cow

Catch That Cow Time Limit: 2000MS Memory Limit: 65536KTotal Submissions: 43680 Accepted: 13615 Description Farmer John has been informed of the location of a fugitive cow and wants to catch h

poj3267--The Cow Lexicon(dp:字符串组合)

The Cow Lexicon Time Limit: 2000MS Memory Limit: 65536KTotal Submissions: 8211 Accepted: 3864 Description Few know that the cows have their own dictionary with W (1 ≤ W ≤ 600) words, each con