题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1087

----------------------------------------------------------------------------------------------------------------------------------------------------------
欢迎光临天资小屋http://user.qzone.qq.com/593830943/main

----------------------------------------------------------------------------------------------------------------------------------------------------------

Super Jumping! Jumping! Jumping!

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 21836    Accepted Submission(s): 9562
Problem Description
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.

Input
Input contains multiple test cases. Each test case is described in a line as follow:

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.
 
Output
For each case, print the maximum according to rules, and one line one case.
 
Sample Input
3 1 3 2
4 1 2 3 4
4 3 3 2 1
0
 
Sample Output
4
10
3

代码例如以下:

#include <cstdio>
#define N 1017
int main()
{
int n;
int a[N], dp[N];
int i, j;
int max;
while(~scanf("%d",&n) && n)
{
for(i = 0; i < n; i++)
{
scanf("%d",&a[i]);
}
dp[0] = max = a[0];
for(i = 1; i < n; i++)
{
dp[i] = a[i];
for(j = 0; j < i; j++)
{
if(a[i] > a[j])
{
if(dp[j]+a[i] > dp[i])
{
dp[i] = dp[j]+a[i];
}
}
}
if(dp[i] > max)
max = dp[i];
}
printf("%d\n",max);
}
return 0;
}

最新文章

  1. 在iOS中使用ZXing库[转]
  2. MVC学习系列10---验证系列之服务器端验证
  3. Hibernate之映射一对一关联
  4. android studio手动加入jar包
  5. [转][ASP.NET MVC 小牛之路]12 - Section、Partial View 和 Child Action
  6. 转载:mysql update更新带子查询的实现方式
  7. opencv 画延长线
  8. 实现一个div在浏览器水平居中
  9. android--HttpURLConnection(转载)
  10. 《du命令》-linux命令五分钟系列之三
  11. 如何让自己的Android程序永不被系统kill
  12. redmine 出口中国的乱码
  13. Vue使用总结
  14. fusioncharts的3D饼图固定大小和角度
  15. 列表 ul ol dl 和 块级标签和行及标签之间的转换
  16. 20165336 实验三 敏捷开发与XP实践
  17. 我发起了一个 .Net 平台上的 直播平台 开源项目 BalaBala
  18. Could not load file or assembly &#39;Microsoft.AnalysisServices.SharePoint.Integration&#39;
  19. object-oriented first work
  20. SQLServer2008备份时发生无法打开备份设备

热门文章

  1. windows apache 跳转 tomcat 代理
  2. LA 3887 - Slim Span 枚举+MST
  3. php 如何写一个自己项目的安装程序
  4. [RxJS] Stopping a shared observable execution
  5. [LeetCode][Java] Letter Combinations of a Phone Number
  6. HDU 2852 KiKi&#39;s K-Number 树状数组
  7. [Recompose] Replace a Component with Non-Optimal States using Recompose
  8. 建立简单的服务器端程序 分类: B1_JAVA 2013-10-08 21:53 503人阅读 评论(0) 收藏
  9. 微擎 plugin 时间插件 图片上传插件不显示 报错 影响下面执行
  10. 【u245】机房病毒