首页 > 其他分享 >浙江理工大学入队200题——18H

浙江理工大学入队200题——18H

时间:2022-10-30 14:34:00浏览次数:64  
标签:200 int 西洋棋 value 玩家 入队 棋子 测试用例 18H

问题 H: 超级跳跳跳1281

题目描述

如今,一种叫做“超级跳跳跳!”的国际象棋游戏在ZSTU很受欢迎。也许你是一个好孩子,对这个游戏知之甚少,所以我现在介绍给你。

游戏可由两个或两个以上的玩家玩。它由一个棋盘和一些西洋棋棋子组成,所有西洋棋棋子都用正整数或“开始”或“结束”标记。玩家从起点开始,最后必须跳到终点。在跳跃过程中,玩家将访问路径中的西洋棋棋子,但是每个人都必须从一个棋子跳到另一个绝对更大的棋子(你可以假设起点是最小值,终点是最大值)。并且所有玩家都不能倒退。一个跳跃可以从西洋棋棋子到下一个,也可以穿过许多西洋棋棋子,甚至你可以直接从起点到达终点。当然,在这种情况下你得到零点。只有当玩家能够根据他的跳跃方案获得更高的分数时,才是赢家。请注意,您的得分来自您跳跃路径中西洋棋棋子的价值总和。您的任务是根据给定的西洋棋棋子列表输出最大值。

输入

输入包含多个测试用例。每个测试用例的描述如下:N value_1 value_2 ... value_N保证N不大于1000且所有value_i都在32-int范围内。以0开头的测试用例表示输入终止,并且不处理该测试用例。

输出

对于每种情况,根据规则打印最大值,并且一行打印一个。

样例输入 Copy

3 1 3 2
4 1 2 3 4
4 3 3 2 1
0

样例输出 Copy

4
10
3

题解

写不出来是正常的,有一点dp的思想,注意不是从a[0]开始这是一个坑
看不懂题目?我给你翻译一下:求最大上升子序列之和
例1: 1+3=4
例2: 1+2+3+4=10
例3: 3

题解(AC)

点击查看代码
#include<bits/stdc++.h>
using namespace std;
int main(){
    int len[1001],a[1001];
    int n;
    while(cin>>n and n!=0)
	{
        int i=0,ans;
        while(n--)
		{
            cin>>a[i];
            ans=a[i];
            for(int j=0;j<i;j++)       
		    {
			   	if(a[i]>a[j] and ans<len[j]+a[i])
				   {
				   	ans=len[j]+a[i];
				   }
			} 
            len[i]=ans;
            i++;
        }//len()为从0到i中上升子序列最大的值,故ans要与第j次一直比 
        ans=len[0];
        for(int j=0;j<i;j++)
        {
            ans=max(ans,len[j]);	
		}
                cout<<ans<<endl;
    }
    return 0;
}

标签:200,int,西洋棋,value,玩家,入队,棋子,测试用例,18H
From: https://www.cnblogs.com/codeshany/p/zstu_200_18H.html

相关文章

  • 浙江理工大学入队200题——18F
    问题F:两倍1006题目描述作为算术能力计划的一部分,您的学生将被随机生成2到15个唯一正整数的列表,并要求确定每个列表中有多少项是同一列表中其他项的两倍。您将需要一......
  • 浙江理工大学入队200题——18G
    问题G:醉酒的狱卒1014题目描述某个监狱的大厅里有n个牢房,每个牢房彼此相邻。每个牢房都有一个囚犯,每个牢房都被锁上了。一天晚上,狱卒感到无聊并决定玩游戏。第一轮比赛......
  • P2272 [ZJOI2007]最大半连通子图
    哎,这道题打了半个小时,调了两个小时,最后发现竟然是把\(Tarjan\)里\(while\)给打成\(if\),呜呜,枉费我两个小时时间,所以下次一定要记住不能打成\(if\)(估计也就我一个......
  • 浙江理工大学入队200题——18D
    问题D:摘果子题目描述果园里一共有n个果子,每个果子的重量ai都是已知的。果园的主人喜欢收集“最萌重量差”的果子,现聘请你来帮他完成这一任务。所谓“最萌重量......
  • windows 2003 oracle 10.2.0.4 升级迁移到linux 11.2.0.4
    文档课题:windows2003oracle10.2.0.4升级迁移到linux11.2.0.4源端:windows200332位+oracle10.2.0.432位+双实例目标端:centos7.964位+oracle11.2.0.464位应......
  • 浙江理工大学入队200题——17E
    问题E:零基础学C/C++184——吉祥数题目描述为了迎接圣诞,信息学兴趣小组的同学在辅导老师的带领下,举办了一个盛大的晚会,晚会的第一项内容是做游戏:猜数。老师给每位同学......
  • 浙江理工大学入队200题——17H
    问题H:零基础学C/C++187——美丽的黄山题目描述众所周知,黄山市一片山(而不是一座山)。假设这些山排成了一排,每座山有各自的高度。现在游客们从最左边看山,有些山因为高度......
  • 浙江理工大学入队200题——16I
    问题I:零基础学C/C++172——猴子选大王题目描述有n只猴子围成一圈,从1~n编号,大家决定从中选出一个大王。经过协商,决定选大王的规则为:从编号为1的猴子开始报数,报到k的猴......
  • 浙江理工大学入队200题——17C
    问题C:零基础学C/C++182——墨汁题目描述小T擅长国画,特别崇拜以画马著称的国画大师徐悲鸿先生,所以小T也很喜欢画马,众所周知画马是需要很多墨汁的,为了节省支出,小T决定参......
  • 浙江理工大学入队200题——16H
    问题H:零基础学C/C++179——注册账号题目描述在某网站收集了n个人的注册账号,账号类型有身份证号或者QQ号两种。请编程用适当的数据结构保存信息,并统计身份证中男性和女......