(word)葡萄城竞赛题目及相关说明.docVIP

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(word)葡萄城竞赛题目及相关说明

筑梦之城 座标:183.2°E,92.7°N。这里,有一片未开垦的土地,空旷得,呃,荒无人烟。在此,我更愿意称之为“筑梦之地”,因为,我们即将在这里,打造一个全新的梦想之城! 背景介绍 这是一块矩形的土地,被经、纬线划分成若干正方形的小格子。方便起见,我们将这些被经纬线划分出的小格子称为“单元格”,并按横向为行,纵向为列的方式进行描述。座标的原点在地图的左上角,向右下递增。 下面是一张这个区域的地图: 地图中的单元格分别被五种不同的颜色标记,这是一张规划图,不同的颜色代表不同的区域功能: 灰色:代表此区域是非建筑用地,不能用于任何设施的建设; 白色:代表此区域为未指定功能的建筑用地; 绿色:代表此区域的规划功能为住宅区; 蓝色:代表此区域的规划功能为商业区; 黄色:代表此区域的规划功能为工业区。 除了区域功能的规划,我们在前期,还针对建筑的造型和功能做了详细的规划,所有可用的建筑的图纸也都准备就绪。下图所示是一些可能的建筑布局: 每一个建筑用一种颜色标识,这种颜色可以是绿、蓝或黄中的任意一种,代表的含意为此建筑的功能为住宅、商场或工厂。 建筑布局中的小格子大小与地图上的单元格相等。 上图中白色的格子表示空白,不是建筑的一部分。 建筑在地图上放置时,既可以覆盖与其功能相同的单元格,也可以覆盖与其功能不同的单元格,但不能覆盖类型为非建筑用地的单元格。 建筑物在被放置之前,可以做顺时针的旋转,旋转的角度为90度的整数倍。 下图展示建筑物的放置及旋转: 图中最左侧是当前选择的建筑的布局,在它的右侧是地图局部的布局。 左侧第三幅图展示了,将该建筑不旋转地放置在地图上这个区域的方法。 最右侧的图展示了,将该建筑顺时针旋转180度后,再放置到地图上这个区域的方法。 右侧的两幅图中,粗边框的区域为建筑物放置的区域;标注”*”的位置,是放置时应指定的座标点。 好了,背景内容介绍到这里。下面,来说说我们光荣而伟大的使命吧! 光荣的使命 为了把这块“筑梦之地”建设成和谐美好的“梦想之城”,仅凭有关部门的闭门造车,是远远不够的。我们在规划之初就深刻地认识到了这一点,所以,我们诚邀各位有识之士共谋大业(。为了更合理有效地利用这块土地,我们准备举办一场比赛,从所有参赛选手中选取最终的优胜者,来承担开发大任。 每位参与竞赛的选手,需要完成一个算法。在每一场角逐中,这个算法会与另外一位选手的算法随机分组,以对弈的方式在这块神奇的土地上展开竞争,争取占有更多的土地,建设更多的建筑,以及获得更多的额外的回报。而最终的胜者将成为这块“筑梦之地”的开拓者。 算法要求 有关算法实现的细节及接口描述,请参见本文档中的接口说明部分。这一节的描述中不会涉及到具体的技术细节。 算法应实现以下功能: 在每一次被调用时,从可用建筑列表中选择一个未被使用的建筑,放置到地图上的某一位置;或者,选择不放置任何建筑到地图上。 建筑在被放置到地图上之前,可以进行角度为90度整数倍的旋转; 算法的目标: 根据规定的计分方法,获得比对手更高的分数,并且分差越大越好。 算法的限制: 时间限制:每次调用限时1s,一局比赛限时30s; 空间限制:算法执行过程中,内存占用不超过512MB;算法常驻内存的部分,不超过256MB; 其它限制:如果使用多线程技术,每次调用返回前,应主动结束调用过程中主动开启的线程。 算法能够获得的信息包括: 地图的大小(宽度W和高度H,0W,H≤50,宽度和高度均以单元格数量计); 地图上每个单元格的功能; 地图上每个单元格的状态(空白,或被某选手占用); 全部可用建筑的描述(包括每个建筑的外边界宽和高w,h,以格数计,0w,h≤50;建筑的功能,以及建筑图上每个格子的状态:建筑物或空白); 此次调用前的最后一次操作(放置的建筑及位置),可能是对手的最后一次操作,也可能是自己的上一次操作,依调用序列而定,参见下一段中的比赛过程; 截止本次调用前算法剩余的可用时间。 比赛规则 每个选手的算法会与不同的对手进行若干场的比赛,每场比赛分为若干局。 每局比赛的过程如下: 初始时,地图上全部单元格状态为空白,全部建筑可用。两位参赛选手的剩余时间均为30s; 两位选手分别被指派ID,A和B,自身的ID可以在算法被调用的过程中获得。ID一经指派,在一局比赛中不会被更改; 比赛开始后A算法和B算法被按照ABBAABBAABB……的顺序依次调用,直至一局比赛结束; 每次调用后,如果选手的算法正确放置了建筑,地图上相应的单元格状态会被更新,被放置的建筑也将被从可用建筑列表中移除。 不正确的放置,即选手使用不在可用建筑列表中的建筑,或将建筑的任意非空白部分置于地图上的非空白区域、非建筑用地之上,或置于地图边界之外,或者返回值非法。 一局比赛

文档评论(0)

ryf346 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档