2020编码大赛(1)题目

举报
用户已注销 发表于 2021/11/19 02:25:22 2021/11/19
【摘要】 一. 背景信息  随着信息社会的进步,对网络传输的要求也越来越高,在带宽固定的情况下,数据如何被更好的压缩显得尤为重要。  合理的压缩算法能够用有限的空间,携带更多的信息。  本次赛题以对战双方对虚拟资源争夺的方式,来体现数据压缩在当今信息社会的重要性。 二. 游戏概述 游戏分为两个阵营,双方通过调度各自的资源机器人装载虚拟资源...

一. 背景信息
 随着信息社会的进步,对网络传输的要求也越来越高,在带宽固定的情况下,数据如何被更好的压缩显得尤为重要。
 合理的压缩算法能够用有限的空间,携带更多的信息。
 本次赛题以对战双方对虚拟资源争夺的方式,来体现数据压缩在当今信息社会的重要性。

二. 游戏概述
游戏分为两个阵营,双方通过调度各自的资源机器人装载虚拟资源兑换金币,同时累计积分,比赛结束时累计积分更多的一方阵营胜利,若积分相同则平局。资源机器人将装载后的资源,运回到己方基地后,会自动触发资源卸载,并累计积分。每场比赛由调度系统与资源机器人配合完成,调度系统负责调度资源机器人,为资源机器人规划行走路线,下达资源装载命令,以及根据资源机器人历史装载数据设计最优资源机器人调度方案。资源机器人则负责虚拟资源处理,进行压缩、解压缩。

1. 调度系统
 调度系统负责资源机器人的调度,在模拟地图上每个回合为每一个资源机器人选择合适的路径。
 调度系统可对资源机器人下达多种指令:
装载指令:资源机器人在经过该命令所指定位置时,将对该命令所指定资源进行装载。
压缩装载指令:资源机器人在经过该命令所指定位置时,将对该命令所指定资源进行压缩装载。
购买“能量掠夺者”指令:资源机器人在经过该命令所指定位置时,完成“能量掠夺者”购买。
能量购买指令:资源机器人在经过该命令所指定位置时,完成能量购买。
2. 资源机器人
 实现虚拟资源处理,支持数据压缩、解压缩。

三,游戏规则

1. 地图
 游戏地图大小为12 * 12的矩形,坐标原点(0,0)在地图的左上角,向右是水平方向的X坐标,向下是垂直方向的Y坐标。如Figure 1:地图坐标示例所示:


 地图中存在的元素有虚拟资源、比赛双方机器人、比赛双方基地、障碍物。
 地图外围边界为障碍物。
 每半场开始资源机器人的起始地点由地图指定。
 正式比赛之前会提供两张练习地图,正式比赛时会使用新的地图作为比赛地图使用。(地图的变动包括但不限于资源、障碍物、比赛双方机器人、比赛双方基地起始位置的变化)2. 回合数
 游戏分为上下半场。
 每半场最大回合数为30回合。
3. 虚拟资源区
 虚拟矿产按照稀缺程度由低到高分为蓝、绿、红 ,不同种类的矿产,兑换金币数量不同。
 如下图所示为四种资源区,每个虚拟资源区只存在一种矿产类型。


 每个资源区内有多个资源单位,每单位虚拟资源单位大小为1024KB。
 每个虚拟资源以文件形式存在,参赛选手需提交压缩算法,配合资源机器人完成资源装载。

4. 资源机器人

Figure 3:资源机器人示例
 每个回合每个资源机器人只能进行一次路径调度,可以对该路径上的虚拟资源进行装载,但只能装载同一种类型资源。
 每半场开始,每个资源机器人自身初始容量2048KB。
 每个资源机器人初始能量100,且最大上限也为100。
 资源机器人有自身的容量限制,装载的资源单位不能超过自身的容量。
 资源机器人可以接对虚拟资源进行压缩,以提高资源装载数。
 资源机器人运行能量有限,运送资源过程中会逐渐消耗,若在移动过程中出现能量不足则中途停止移动。

5. 能量掠夺者

 能量掠夺者所有操作均不消耗能量。
 能量掠夺者,由资源机器人从己方基地购买,购买金额 50 金币。
 能量掠夺者购买成功后,出生位置为己方基地周边空地,在当前回合结束后生成,下一回合可以调动。
 能量掠夺者移动至对方资源机器人周边(上、下、左、右)时会对其进行能量掠夺,每次掠夺能量值5。
计算规则举例:如能量掠夺者行走至对方资源机器人 上 左 两个方位,掠夺能量值为 5*2。

 如果对方资源机器人能量不足5,则只能按对方资源机器人实际能量掠夺,此时对方资源机器人将处于能量耗尽状态。
 能量掠夺者移动至己方资源机器人周边时(上、下、左、右)任意位置时,会将已掠夺的能量一次性全部转移至己方资源机器人。
 如果掠夺能量后,未在本次调度移动至已方资源机器人,则掠夺能量清零。
 资源机器人能量耗尽后,能量掠夺者可以为其补充能量,使其获得能量。

6. 基地
 当累计够了一定的金币后,资源机器人经过基地时,可购买 “能量掠夺者”、可购买能量进行充能。
 能量掠夺者购买规则:地图上同一时间,每个队伍只能存在一个能量掠夺者,够买成功后回合结束后生效,下一回合启动调度。
 如果金币不足,将购买失败,购买失败不做惩罚,不影响后续命令执行。
 资源机器人充能规则:每花费一个金币可以购买一个单位能量,购买后立即生效。若购买能量数超过资源机器人自身能量上限,将购买失败,购买失败不做惩罚,不影响后续命令执行。

7. 命令执行机制
 每回合移动过程中,根据调度信息,经过某个位置时,将自动触发预设在该位置的命令,若同一位置存在多条命令,将按命令顺序依次执行。
例1:资源机器人按照调度路径到达某一资源区时,将自动触发预设在该资源区的装载命令。
例2:资源机器人按照调度路径到达己方基地时,将自动触发预设的购买能量掠夺者命令。
 若前一命令执行失败,后续命令仍继续执行。
8. 行走规则
 资源机器人可以向周围的8个方向移动,记做移动一个位置,资源区、己方基地、空地都可以行走。
 障碍物位置、对方基地、双方角色位置不能行走,不可以走出边界。
 移动到己方基地位置会自动卸载所有当前收集资源,并按资源单位数量与类型计算金币,并累计积分。
 可以停留在原地,但是停留原地每回合消耗2个能量。
 每个机器人调度路径不能多次路过相同的位置,例如:路线A->B->C->D->B->E为非法路线。
 资源机器人每回合只能访问一次己方基地。
 行走路径包含机器人起始位置,如果需要原地不动则调度路径仅为起始位置。
9. 资源装载
 移动过程中,根据调度信息与装载指令,进行资源装载,如果装载资源单位与当前容量及已装载资源单位相匹配,则装载成功。
 资源装载方式有:不压缩直接装载,压缩后装载。
 只能按资源单位进行压缩装载(每个压缩装载命令只处理一个资源单位),每压缩一单位资源消耗能量 +1。
 资源机器人在容量已满的情况下可以继续执行装载命令,但会装载失败,装载失败不影响后续路径调度。
 资源机器人对资源单位进行压缩后,会通过解压缩进行还原验证,若还原验证失败,则不对资源进行装载,装载失败。
10. 资源机器人能量消耗计算
 每移动一个位置消耗1个单位能量。
 每次资源单位压缩消耗1个单位能量。

 装载成功不消耗能量。
 装载失败消耗3个单位能量。
11. 金币
 系统默认金币数50
 兑换规则,将资源卸载到己方基地后,系统自动兑换
红色资源:4金币/单位
绿色资源:2金币/单位
蓝色资源:1金币/单位

四,回合制

 游戏使用回合制
 每场比赛分为上下半场
 每半场比赛至多30回合,整场比赛至多60回合
 每游戏回合处理流程如下:
1. 回合开始
2. 第一队的资源机器人开始调度
3. 第一队的能量掠夺者开始调度
4. 第二队的资源机器人开始调度
5. 第二队的能量掠夺者开始调度
6. 回合结束
 由于是回合制分先后手,上下半场调换交换对战场地及对战先后手顺序,以保证游戏的公平性。
 先后手:
上半场为挑战方先手,下半场为被挑战方先手

五,得分规则

 每一场比赛总得分 = 上半场得分 + 下半场得分
 兑换规则:

红色资源:每收集1单位 ,得分+4
绿色资源:每收集1单位 ,得分+2
蓝色资源:每收集1单位 ,得分+1

六,胜负判定

1. 半场结束判定:
 双方资源机器人能量全部耗尽。
 地图上不存在可运输资源,半场结束。
 半场30回合全部结束,半场结束。
 参赛选手的代码异常响应达到5次,判定产生异常队伍仓储机器人全部退场,半场结束。
2. 胜负判定:
 胜负按照本场比赛总得分来判定,得分高者为胜利方,分低者为失败方。
 如果双方得分相同则判定为平局。
3.排行榜积分判定:
 胜一局排行榜积分+3,平局双方排行榜积分+1,失败积分+0。
4. 排序规则:
 优先按照排行榜积分排序,排行榜积分相同则按胜率排序,胜率相同则按全部场次得分总和排序。

七,异常处理

1. 异常是指参赛代码引起的异常,主要分为以下几大类:
 运行超过10秒
 移动路线不符合规则
(1) 路线重复行走、路线不连续。
(2) 撞到障碍物、撞到双方资源机器人或能量掠夺者、超出地图边界。
(3) 行走至对方基地。

 参赛代码异常达到5次,当前半场结束。
 异常小于5次时,该资源机器人在本回合轮空,等同于原地不动。

八,接口

1 调度机制说明
如下图所示,Player代表参赛选手所实现代码,任务调度流程如下:
 比赛平台下发GameRound调度数据,由Player规划行走路线,下达资源装载命令等,通过GameRoundResp反馈至比赛平台。
 比赛平台根据GameRoundResp进行资源机器人调度。
 当资源机器人被调度至资源区时,触发资源压缩装载命令,进行资源压缩装载。
 资源机器人通过Player提供压缩机制接口,进行数据压缩,与压缩还原验证,若数据还原验证成功,则压缩装载成功。

文章来源: blog.csdn.net,作者:csuzhucong,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/nameofcsdn/article/details/109323428

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。