Super Jumping! Jumping! Jumping!
来源:互联网 发布:贺知章回乡偶书二首 编辑:程序博客网 时间:2024/06/06 01:32
Nowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is very popular in HDU. Maybe you are a good boy, and know little about this game, so I introduce it to you now.
The game can be played by two or more than two players. It consists of a chessboard(棋盘)and some chessmen(棋子), and all chessmen are marked by a positive integer or “start” or “end”. The player starts from start-point and must jumps into end-point finally. In the course of jumping, the player will visit the chessmen in the path, but everyone must jumps from one chessman to another absolutely bigger (you can assume start-point is a minimum and end-point is a maximum.). And all players cannot go backwards. One jumping can go from a chessman to next, also can go across many chessmen, and even you can straightly get to end-point from start-point. Of course you get zero point in this situation. A player is a winner if and only if he can get a bigger score according to his jumping solution. Note that your score comes from the sum of value on the chessmen in you jumping path.
Your task is to output the maximum value according to the given chessmen list.
The game can be played by two or more than two players. It consists of a chessboard(棋盘)and some chessmen(棋子), and all chessmen are marked by a positive integer or “start” or “end”. The player starts from start-point and must jumps into end-point finally. In the course of jumping, the player will visit the chessmen in the path, but everyone must jumps from one chessman to another absolutely bigger (you can assume start-point is a minimum and end-point is a maximum.). And all players cannot go backwards. One jumping can go from a chessman to next, also can go across many chessmen, and even you can straightly get to end-point from start-point. Of course you get zero point in this situation. A player is a winner if and only if he can get a bigger score according to his jumping solution. Note that your score comes from the sum of value on the chessmen in you jumping path.
Your task is to output the maximum value according to the given chessmen list.
N value_1 value_2 …value_N
It is guarantied that N is not more than 1000 and all value_i are in the range of 32-int.
A test case starting with 0 terminates the input and this test case is not to be processed.
3 1 3 24 1 2 3 44 3 3 2 10
4#include<cstdio>#include<algorithm>using namespace std;#define INF 0x3f3f3f;int a[1005],dp[1005];int main(){int n;while(scanf("%d",&n),n){for(int i=0;i<n;i++){scanf("%d",&a[i]);}int ans=-INF;for(int i=0;i<n;i++){dp[i]=a[i];for(int j=0;j<i;j++)if(a[i]>a[j])dp[i]=max(dp[i],a[i]+dp[j]);//每一个dp[i]的状态都是最优,从1到i-1遍历dp[j]找到dp[i]的最大值;核心在一直在更新。 ans=max(ans,dp[i]);//每找到一个dp[i]的最大值将ans更新一下。 }printf("%d\n",ans);}return 0;}
103
阅读全文
0 0
- Super Jumping! Jumping! Jumping!
- Super Jumping! Jumping! Jumping!
- Super Jumping! Jumping! Jumping!
- Super Jumping! Jumping! Jumping!
- Super Jumping! Jumping! Jumping!
- Super Jumping! Jumping! Jumping!
- Super Jumping! Jumping! Jumping!
- Super Jumping! Jumping! Jumping!
- Super Jumping! Jumping! Jumping!
- Super Jumping! Jumping! Jumping!
- Super Jumping! Jumping! Jumping!
- Super Jumping! Jumping! Jumping!
- Super Jumping! Jumping! Jumping!
- Super Jumping! Jumping! Jumping!
- Super Jumping! Jumping! Jumping!
- Super Jumping! Jumping! Jumping!
- Super Jumping! Jumping! Jumping!
- Super Jumping! Jumping! Jumping!
- 训练日记-7
- Spark Streaming源码初探 (3)
- 图和网络
- StringBuilder与StringBuffer
- 写DLL 时,加与不加 "Extern C"区别
- Super Jumping! Jumping! Jumping!
- axios以post方式传值的问题
- 数据库恢复技术
- H5拖放API
- 多列布局:定宽+自适应,不定宽+自适应,等宽布局,等高布局
- opencv 在ubuntu的cmake配置
- iOS 模拟器中点击 TextFiled后不弹出软键盘的解决方法
- 计蒜客 公式计算
- java学习初探3之方法使用