2024年06月C语言八级答案及解析.pdfVIP

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

一、简答题

1、夺宝大赛

夺宝大赛的地图是一个由n×m

个方格子组成的长方形,主办方在地图上标明了所有障碍、以及大本营宝藏的位置

。参赛的队伍一开始被随机投放在地图的各个方格里,同时开始向大本营进发。所

有参赛队从一个方格移动到另一个无障碍的相邻方格(“相邻”是指两个方格有一条

公共边)所花的时间都是1

个单位时间。但当有多支队伍同时进入大本营时,必将发生火拼,造成参与火拼的

所有队伍无法继续比赛。大赛规定:最先到达大本营并能活着夺宝的队伍获得胜利

假设所有队伍都将以最快速度冲向大本营,请你判断哪个队伍将获得最后的胜利。

时间限制:5000

内存限制:65535

输入

输入首先在第一行给出两个正整数m和n(2m,n≤100),随后m行,每行给出

n个数字,表示地图上对应方格的状态:1表示方格可通过;0

表示该方格有障碍物,不可通行;2表示该方格是大本营。题目保证只有1

个大本营。接下来是参赛队伍信息。首先在一行中给出正整数k(0k

m×n/2),随后k行,第i(1≤i≤k)行给出编号为i

的参赛队的初始落脚点的坐标,格式为xy。这里规定地图左上角坐标为1

1,右下角坐标为nm,其中n为列数,m

为行数。注意参赛队只能在地图范围内移动,不得走出地图。题目保证没有参赛队

一开始就落在有障碍的方格里。

输出

在一行中输出获胜的队伍编号和其到达大本营所用的单位时间数量,数字间以1

个空格分隔,行首尾不得有多余空格。若没有队伍能获胜,则在一行中输出No

winner.

样例输入

样例1:

57

1111101

1111100

1102111

1100111

1111111

7

15

71

11

55

31

35

14

样例2:

57

1111101

1111100

1102111

1100111

1111111

7

75

13

71

11

55

31

35

样例输出

样例1:

76

样例2:

Nowinner.

提示

样例1说明:

七支队伍到达大本营的时间顺次为:7、不可能、5、3、3、5、6,其中队伍4和5

火拼了,队伍3和6火拼了,队伍7比队伍1早到,所以获胜。

参考答案:

由于题目需要编写代码来解答,无法直接用选项形式给出答案。大致思路如下:首

先读入地图和队伍信息,然后对每个队伍的移动路径进行模拟,记录每个队伍到达

大本营的时间。在这个过程中需要考虑队伍的移动方向(上下左右)以及可能的火

拼情况(当多个队伍同时到达大本营时)。最后根据到达时间判断获胜队伍。

解析:

这个问题可以通过模拟来解决。我们可以创建一个二维数组来表示地图,其中每个

元素表示一个方格的状态(可通过、有障碍物、大本营)。然后,我们可以模拟每

支队伍的移动过程,记录它们到达大本营的时间。在这个过程中,我们需要考虑队

伍的移动方向(上下左右),并检查每个移动方向是否可行(即该方格是否可通过

)。当队伍移动到另一个方格时,我们更新其位置并继续模拟移动过程。如果有多

支队伍同时到达大本营,我们需要处理火拼的情况。在这种情况下,我们可以认为

参与火拼的队伍无法继续比赛,因此需要跳过这些队伍并继续模拟其他队伍的移动

过程。最后,我们找到最先到达大本营的队伍并输出其编号和到达时间。如果没有

队伍能获胜,我们输出Nowinner.。

2、清点代码库

很久之前新浪微博有人发过:“阿里代码库有几亿行代码,但其中有很多功能重复

的代码,比如单单快排就被重写了几百遍。请设计一个程序,能够将代码库中所有

功能重复的代码找出。各位大佬有啥想法,我当时就懵了,然后就挂了。。。”

这里我们把问题简化一下:首先假设两个功能模块如果接受同样的输入,总是给出

同样的输出,则它们就是功能重复的;其次我们把每个模块的输出都简化为一个整

数(在int

范围内)。于是我们可以设计一系列输入,检查所有功能模块的对应输出,从而查

出功能重复的代码。你的任务就是设计并实现这个简化问题的解决方案。

时间限制:7000

内存限制:262144

输入

输入在第一行中给出2个正整数,依次为N(≤104)和M(≤

2

10

文档评论(0)

喵呜刷题 + 关注
实名认证
文档贡献者

来喵呜刷题,完成你的职业蜕变!

1亿VIP精品文档

相关文档