`
chriszeng87
  • 浏览: 741274 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HDU_1087_Super Jumping! Jumping! Jumping!

阅读更多

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
 
参考了基德KID.1412的解法 http://972169909-qq-com.iteye.com/blog/1068856
不过我认为它的解法有些问题,
我的解法:
#include <iostream.h>
#include <stdlib.h>

int main() {
	int n,i,j;
	
	cin>>n; //输入数组的大小

	int* array = (int *)malloc(n*sizeof(int));
	int* maxA = (int *)malloc(n*sizeof(int));

	
	for(i=0; i<n; i++) {
		cin>>array[i];
		maxA[i] = array[i];
	}

	int maxSum = array[0];
	int k=0;
	for(i=0; i<n; i++) {
		k = i; //用来保存上一个最大值的位置
		for(j=i+1; j<n; j++) { 
		//求以array[i]开始的序列的最大值
			if(array[j] > array[k]) {//当前最大值
				maxA[i] += array[j];
				k = j;
				if( maxA[i] > maxSum)//overall maximun
					maxSum = maxA[i];
			}
			
		}
	}

	cout<<"The result is: "<<maxSum<<endl;

	return 0;
}
 
   欢迎批评指正

   ps:怎么把输入和输出的格式弄成题目要求的那样呢?

   while(cin >> n && n)
  {
  }

 

 

0
0
分享到:
评论

相关推荐

    hdu_acm_1084.rar_ACM_HDU10_acm10_hdu_hdu 1084

    【标题】"hdu_acm_1084.rar_ACM_HDU10_acm10_hdu_hdu 1084" 提供的是一个关于杭电(HDU)ACM竞赛第1084题的解决方案。该题目可能是在编程竞赛中常见的算法问题,而ACM(国际大学生程序设计竞赛)是全球知名的编程...

    hdu_ACM.rar_ACM_hdu_hdu acm_hdu_ACM_杭电ACM

    杭电hdu acm资料所用杭电的acm题

    HDU_2010.rar_hdu 2010_hdu 20_hdu acm20

    【标题】"HDU_2010.rar"是一个压缩包文件,其中包含了与"HDU 2010"相关的资源,特别是针对"HDU ACM20"比赛的编程题目。"hdu 2010"和"hdu 20"可能是该比赛的不同简称或分类,而"hdu acm20"可能指的是该赛事的第20届...

    hdu_2102_passed

    hdu_2102_passed_sorce

    hdu.rar_HDU 1089.cpp_OJ题求和_hdu_horsekw5_杭电obj

    【标题】"hdu.rar_HDU 1089.cpp_OJ题求和_hdu_horsekw5_杭电obj" 提供的信息是关于一个压缩文件,其中包含了一个名为 "HDU 1089.cpp" 的源代码文件,这个文件是为了解决杭州电子科技大学(Hangzhou Dianzi ...

    HDU_ACM培训课件(完整版)

    HDU_ACM培训课件是面向参与ACM(国际大学生程序设计竞赛,International Collegiate Programming Contest,简称ICPC)的学员准备的一套完整的教程资源。这个压缩包包含了丰富的学习资料,旨在帮助参赛者提升编程技能...

    HDU.rar_hdu_hdu07_com_shownv9b_www.563hdu.

    【标题】"HDU.rar_hdu_hdu07_com_shownv9b_www.563hdu." 暗示这是一个与HDU(杭州电子科技大学在线编程平台)相关的压缩包,其中可能包含了该平台上的编程竞赛题目或练习题目的源代码。"hdu07"可能是某个特定题目的...

    HDU_ACM_1002_大数相加C源代码

    HDU_ACM_1002_大数相加C源代码,利用字符串处理

    杭电期中期末复习资料档案库_HDU_QuickLearner.zip

    杭电期中期末复习资料档案库_HDU_QuickLearner

    HDU_软工_计组实验1~8

    【标题】"HDU_软工_计组实验1~8"所涵盖的知识点主要集中在计算机组织(简称计组)的实践操作层面,这通常包括对计算机硬件结构、指令系统、存储器体系、数据表示以及处理器工作原理等基础知识的深入理解和应用。...

    B_(HDU_1231)(最大子段和,分治).cpp

    B_(HDU_1231)(最大子段和,分治).cpp

    HDU.rar_hdoj 2000 2999 chm_hdoj 2000-2099_hdu_hdu acm 20_杭电ACM

    这份名为"HDU.rar"的压缩包文件,包含了针对杭电(Hangzhou Dianzi University,简称HDU)ACM竞赛平台上的2000至2099号题目的一系列解题报告。这些报告以".chm"(Compiled Help Manual)格式存储,是专门为ACM(国际...

    模式识别_hdu_期末复习资料集合_试卷笔记.zip

    在本压缩包文件“模式识别_hdu_期末复习资料集合_试卷笔记.zip”中,我们可以期待找到与杭州电子科技大学(HDU)模式识别课程相关的期末复习资料,可能包括过去的试卷、笔记和其他学习材料。 模式识别的基本概念...

    sanguosha.rar_hdu_三国杀_标程

    【标题】"sanguosha.rar_hdu_三国杀_标程" 提供的是一个关于 HDU(杭州电子科技大学在线判题系统)3378 题目的解题报告,该题目名为“三国杀”,并且包含了一份用 C++ 编写的程序代码“san guo sha.cpp”。...

    code_hdu.rar_ACM_The First_hdu_test case example

    For a positive integer n, let’s denote function f(n,m) as the m-th smallest integer x that x&gt;n and gcd(x,n)=1. For example, f(5,1)=6 and f(5,5)=11. You are given the value of m and (f(n,m)?...

    数字图像处理_hdu_期末复习资料_试卷等.zip

    这个压缩包“数字图像处理_hdu_期末复习资料_试卷等.zip”显然是为杭州电子科技大学(HDU)的学生准备的期末复习材料,包含了一些关于这门课程的试卷。下面,我们将详细探讨数字图像处理的一些核心知识点。 1. 图像...

    Rightmost Digit_hdu_

    【标题】"Rightmost Digit HDU" 这道题目来源于HDU(杭州电子科技大学)的在线判题系统,通常这类题目是编程竞赛或者算法训练的一部分。"Rightmost Digit"直译为“最右边的数字”,我们可以推测这是一个关于数字...

    hdu-page-11-answer.rar_hdu_hdu oj第十一页_page_搜题_杭电oj

    本资料"HDU Page 11 Answer"正是针对杭电OJ中第11页的题目,提供了一系列题解,旨在帮助初学者快速掌握基础算法,并提升编程能力。 一、ACM入门基础知识 ACM竞赛强调的是团队协作和快速解决问题的能力,其核心是...

    DP.rar_DP_hdu_动态规划_动态规划 C++

    标题中的“DP.rar”表明这是一个关于动态规划的资料压缩包,而“DP_hdu”暗示了这些题目可能来自杭州电子科技大学(HDU)的在线编程平台。动态规划通常用于解决那些可以通过子问题的最优解来构建原问题最优解的问题...

    hangdianACM.rar_hangdiana_hdu acm_www.hangdianacm_杭电

    这个压缩文件包含的是作者个人提交并解决的ACM(国际大学生程序设计竞赛,International Collegiate Programming Contest)题目,这些题目来源于HDU的在线编程平台。 【描述】"杭电的一些acm题目,都是我自己一个一...

Global site tag (gtag.js) - Google Analytics