2020机器人大赛程序设计比赛试题(本科组final)珍藏版本

Dec. 28, 2020, 10:32 a.m. 文档页面

【文章导读】 绝密启用前 20202020 年安徽省机器人大赛年安徽省机器人大赛 大学生程序设计竞赛大学生程序设计竞赛 ( (本科组本科组) ) 试试 题题 册册 主办单位:安徽省教育厅 中国蚌埠 2020 年 10 月 18 日 2020 年安徽省机器人大赛 大学生

文章介绍图片

  

【正文内容】

绝密启用前 20202020 年安徽省机器人大赛年安徽省机器人大赛 大学生程序设计竞赛大学生程序设计竞赛 ( (本科组本科组) ) 试试 题题 册册 主办单位:安徽省教育厅 中国蚌埠 2020 年 10 月 18 日 2020 年安徽省机器人大赛 大学生程序设计竞赛 中国蚌埠 第 2 页,共 17 页 目 录 A. 数字排列 3 B. 嵌套线段 4 C. 前后相加 5 D. 字符串修改 6 E. 收集圣物 7 F. 跳蛙出行 9 G. 序列游戏 10 H. 字幕校对 11 I. 美丽几何 13 J. 飞奔的战士 14 K. 农夫打狼 16 2020 年安徽省机器人大赛 大学生程序设计竞赛 中国蚌埠 第 3 页。

1、共 17 页 A. 数字排列数字排列 给出两个整数 A 和 B, 可以重新排列 A 得到新的数字 C (不能有前导 0) 。 求在小于等于 B 的情况下,C 的最大值是多少。如果不存在输出 -1。 输入输入说明说明 一行,包含两个整数 A 和 B。 1 <= A, B < 109。 输出输出说明说明 输出符合条件情况下 C 的最大值。 样例 1 样例 2 输入 1234 3456 输出 3421 输入 10000 5 输出 -1 2020 年安徽省机器人大赛 大学生程序设计竞赛 中国蚌埠 第 4 页,共 17 页 B. 嵌套线段嵌套线段 给出 N 个线段。

2、 对于线段 i, 给出线段在数轴上的左端点 li 和右端点 ri, 对于线段 i 和 j, 假如 lj < li 并且 ri < rj 就说明线段 i 嵌套在线段 j 中。 找到所有嵌套在至少一个其他线段中的线段。 输入输入说明说明 第一行是一个整数 N,1 <= N <= 100。 接下来 N 行,每行两个整数 li, ri 表示第 i 个线段的端点。 输出输出说明说明 所有嵌套在其它线段中的线段个数。 输入输入样例样例 4 0 5 2 6 3 4 0 7 输出样例输出样例 2 说明说明: (3, 4) 和 (2, 6) 包含在 (0, 7) 中。

3、 2020 年安徽省机器人大赛 大学生程序设计竞赛 中国蚌埠 第 5 页,共 17 页 C. 前后相加 给定一个长度为 N 的序列(1<=N<=200000) ,开始时序列内所有元素为 0。 你可以对序列作如下两种操作: 1.指定一个整数 k(1<=k<=N)和一个非降序列非降序列 c1,c2,c3,ck, (ci 非负, 1<=i<=k) ,对序列 x 的前 k 个数,令 xi=ci+xi。 2.指定一个整数 k(1<=k<=N)和一个非升序列非升序列 c1,c2,c3,ck, (ci 非负, 1<=i<=k) 。

4、对序列 x 的后 k 个数,令 xN-k+i=ci+xN-k+i。 你的目标是将序列 x 构造为与序列 A 相等的序列,即 xi=Ai(1<=i<=n, 1 109),输出最少需要多少次操作,以达成目标。 输入输入说明说明 第一行为一个整数 N,表示序列的长度。 第二行为 N 个整数,表示目标序列 A。 输出说明输出说明 输出最少的操作次数。 样例 1 样例 2 输入 5 1 2 1 2 1 输出 3 输入 5 2 1 2 1 2 输出 2 2020 年安徽省机器人大赛 大学生程序设计竞赛 中国蚌埠 第 6 页,共 17 页 D. 字符串修改 给定两个由 0 与 1 组成的长度均为 N 的序列 S 和 T。

5、 通过不断改变 Si的值 的操作(0 改为 1 或者 1 改为 0) ,使得序列 S 与序列 T 相同。 定义改变 Si的值的花费为 D*Ci,其中 D 是在此操作之前,序列中满足 SjTj的 j 的个数(1<=j<=N) 。Ci表示对 i 位置进行变换的代价。 对于一个固定长度 N, 共有2 2对由 01 组成的序列 (S,T) , 计算所有 f(S,T) 的总和,并输出它对109+ 7取模的结果。f(S,T)是某个序列(S,T)经过操作 后所需要的最少的花费。 数据范围:1 2 105,1 109 输入说明输入说明 输入第一行为一个整数 N,表示 S 与 T 的长度。

6、第二行共 N 个整数, C1,C2,C3,CN。 输出说明输出说明 输出一个整数,所有 f(S,T)之和对109+ 7取模的结果。 样例 1 样例 2 输入 1 1000000000 输出 999999993 输入样例 2 5 8 输出样例 124 提示提示 样例 1:S 可取 0、1,T 可取 0、1,共有 f(0,0),f(0,1),f(1,0),f(1,1) 四种情况 f(0,0)=0,f(1,1)=0,f(1,0)=f(0,1)=109,故最终结果为 2*109, 取 模可得 999999993。 样例 2:针对 S=(0,1),T=(1,0)这个序列对,首先将 S1 改为 1。

7、所需花费为 5*2=10。再将 S2 改为 0,造成的花费为 8*1=8,故 f(S,T)=18。 2020 年安徽省机器人大赛 大学生程序设计竞赛 中国蚌埠 第 7 页,共 17 页 E. 收集圣物 在一个策略游戏中, 僧侣可以收集圣物, 放入修道院中, 以生产黄金。 因此, 圣物对赢得游戏的胜利很重要。 某个僧侣正处于一个长为 n 宽为 m 的矩形迷宫中,迷宫的四周都是墙壁,不 可移动,迷宫中圣物可能有若干个。为了降低游戏难度,僧侣只需要发现任意一 个圣物,就能完成任务。 迷宫有若干扇门,同时在迷宫的一些地方会有钥匙,每一把钥匙都只能使用 一次,每一次可以开一扇门。即:一旦你通过一扇门后。

8、门将自动关闭,如果想 要再次打开这扇门, 你需要再使用一把钥匙去打开它, 通过之后门还将自动关闭。 僧侣移速缓慢,每秒只能够向上下左右四个方向各移动一个单位。不过开门 以及拾取钥匙不耗费时间。 输入这个迷宫, 输出最快多少秒能够发现一个圣物。 如果僧侣无法收集任何 圣物,输出“Bug Maze!!!”。 输入输入说明说明 第一行两个正整数 n,m(n,m<=25)。 接下来 n 行,每行 m 个字符,字符含义如下: # -- 该位置为墙或者障碍。 . -- 该位置可以正常行走。 K -- 该位置有一把钥匙。 D -- 该位置有一扇门。 S --起始位置。S仅有一个。

9、 E 圣物位置。E可能有多个。 数据保证钥匙的数量4-3-2-1-2 的次序跳跃。 2020 年安徽省机器人大赛 大学生程序设计竞赛 中国蚌埠 第 10 页,共 17 页 G. 序列游戏序列游戏 给定一个初始为空的序列 w 和一个长度为 m 单调递增序列 a。对序列 w 作如 下 n 次操作: (1)操作 0,在序列尾部添加数字 0。 (2)操作 1,在序列尾部添加数字 1。 (3) 操作-1, 删除序列 w 中所有位于位置 ai 的数 (1<=iw 的当前长度,则该操作停止。 输出 n 次操作后的序列 w。 输入说明输入说明 第一行为两个数 n 与 m。

10、表示操作数与 a 的长度,1n,m10 6。 第二行为 m 个数,表示序列 a,ai Ending time of the subtitles Subtitle text in one or more lines 每两个字幕信息之间用一行空行隔开。时间格式为HH:MM:SS,TTT(注意是英 文的冒号和逗号),表示 小时:分钟:秒,毫秒。 这是一个STA格式文件的样例: 1 00:00:01,600 -- 00:00:04,200 Good day! 2 00:00:05,900 -- 00:00:07,999 Good day to you too! Here you go! 3 00:00:10。

11、000 -- 00:00:14,000 May I please have ten garlic sausages? 由于影片播放时需要对原有视频进行编辑以适应播出时长, 所以字母文件也 要做适当的调整,因此小喇叭的任务就是编写程序完成对字幕文件的编辑。 输入说明输入说明 每个测试样例最多不超过30行。第一行是字幕序号,第2行是按照.STA字幕 格式的时间信息,第3行开始时字母信息,可能有多行字幕。为了便于处理,字 幕中仅包含大小写字母和如下符号 ,.?!。(。不含在内) 最后一个字幕信息块后是一个#号,表明本测试样例末尾。 #号之后是一个整数T(-10000<=T 00:00:04。

12、200 We thought you was... 9 00:00:05,900 -- 00:00:07,999 a toad. # 300 输出样例输出样例 8 00:00:01,900 -- 00:00:04,500 We thought you was... 9 00:00:06,200 -- 00:00:08,299 a toad. # 2020 年安徽省机器人大赛 大学生程序设计竞赛 中国蚌埠 第 13 页,共 17 页 I. 美丽几何 在平面上有 n 个点,初始每个点的美丽值都为 0,任意选择两个点组成一条 直线,对于每一条直线,如果存在一个点,这个点到这条直线的距离小于其他 n-3 个点到这条直线的距离。

13、那么我们把这个点的美丽值加 1。为了简化输出, 我们只需要输出所有点的美丽值的异或值,保证三点不共线。 输入说明输入说明 第一行一个正整数 n(4<=n<=2000)。 接下来 n 行, 每一行有 2 个正整数 x,y, 代表一个点的坐标(0<=x,y<=100 000 000)。 输出说明输出说明 输出所有点的美丽值的异或值。 样例 1 样例 2 输入 4 0 0 0 1 1 0 1 1 输出 0 输入 4 0 0 1 0 1 2 2 1 输出 3 2020 年安徽省机器人大赛 大学生程序设计竞赛 中国蚌埠 第 14 页,共 17 页 J.

14、 飞奔的战士 众所周知,Teutonic Knight 是某 RTS 游戏中,移动速度最快的角色。而且 他热衷于参加赛跑比赛。 现在他想知道他最快需要用多长时间才可以到达终点,假设他没有开加速挂。 起初,他站在第 1 张图的某个位置(用S标识) ,终点在第 k 张图的某个 位置(用E标识) ,在除最后一张图外,每一张图上有且仅有一个传送点(用 T标识) ,可以将他传送到下一张图的某个位置,用t标识。传送不需要 任何时间,可以理解为瞬间完成。每次移动一个单位距离耗时 1 秒。 现在 Teutonic Knight 想知道他在全程狂奔的情况下,最快需要多长时间才 能到达终点。 输入输入说明说明 第一行三个数 k。

工作思路相关推荐  
三九文库 www.999doc.com
备案图标苏ICP备2020069977号