第十一届蓝桥杯大赛软件类省赛第三场C/C++大学B组第十一届蓝桥杯大赛软件类省赛第三场C/C++大学B组【考生须知】考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压试题。
考试时间为4小时。
考试期间选手可浏览自己已经提交的答案,被浏览的答案允许拷贝。
时间截止后,将无法继续提交或浏览答案。
对同一题目,选手可多次提交答案,以最后一次提交的答案为准。
选手必须通过浏览器方式提交自己的答案。
选手在其它位置的作答或其它方式提交的答案无效。
试题包含“结果填空”和“程序设计”两种题型。
结果填空题:要求选手根据题目描述直接填写结果。
求解方式不限。
不要求源代码。
把结果填空的答案直接通过网页提交即可,不要书写多余的内容。
程序设计题:要求选手设计的程序对于给定的输入能给出正确的输出结果。
考生的程序只有能运行出正确结果才有机会得分。
注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。
选手的程序必须是通用的,不能只对试卷中给定的数据有效。
对于编程题目,要求选手给出的解答完全符合GNU C/C++标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。
代码中允许使用STL类库。
注意:main函数结束必须返回0注意:所有依赖的函数必须明确地在源文件中#include<xxx>,不能通过工程设置而省略常用头文件。
所有源码必须在同一文件中。
调试通过后,拷贝提交。
提交时,注意选择所期望的编译器类型。
第十一届蓝桥杯大赛软件类省赛第三场1第十一届蓝桥杯大赛软件类省赛第三场C/C++大学B组试题A:数青蛙本题总分:5分【问题描述】“一只青蛙一张嘴,两只眼睛四条腿。
两只青蛙两张嘴,四只眼睛八条腿。
三只青蛙三张嘴,六只眼睛十二条腿。
……二十只青蛙二十张嘴,四十只眼睛八十条腿。
”请问上面这段文字,如果完全不省略,全部写出来,从1到20只青蛙,总共有多少个汉字。
约定:数字2单独出现读成“两”,在其他数里面读成“二”,例如“十二”。
10读作“十”,11读作“十一”,22读作“二十二”。
请只计算汉字的个数,标点符号不计算。
【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。
本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
试题A:数青蛙2第十一届蓝桥杯大赛软件类省赛第三场C/C++大学B组试题B:互质本题总分:5分【问题描述】今年是2020年,今天是10月18日。
请问在1到2020中,有多少个数与1018互质。
【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。
本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
试题B:互质3第十一届蓝桥杯大赛软件类省赛第三场C/C++大学B组试题C:车牌本题总分:10分【问题描述】A市的车牌由六位组成,其中前三位可能为数字0至9,或者字母A至F,每位有16种可能。
后三位只能是数字0至9。
为了减少攀比,车牌中不能有连续三位是相同的字符。
例如,202020是合法的车牌,AAA202不是合法的车牌,因为前三个字母相同。
请问,A市有多少个合法的车牌?【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。
本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
试题C:车牌4第十一届蓝桥杯大赛软件类省赛第三场C/C++大学B组试题D:Fibonacci集合本题总分:10分【问题描述】小蓝定义了一个Fibonacci集合F,集合的元素如下定义:1.最小的5个Fibonacci数1,2,3,5,8属于集合F。
2.如果一个元素x属于F,则3x+2、5x+3和8x+5都属于集合F。
3.其他元素都不属于F。
请问,这个集合中的第2020小元素的值是多少?【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。
本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
试题D:Fibonacci集合5第十一届蓝桥杯大赛软件类省赛第三场C/C++大学B组试题E:上升子串本题总分:15分【问题描述】小蓝有一个字母矩阵,他喜欢和小伙伴们在这个矩阵上玩一些游戏。
今天,他打算玩找上升子串的游戏。
游戏是合作性质的。
小蓝和小伙伴们首先要在矩阵中指定一个位置,然后从这个位置开始,向上下左右相邻位置移动,移动必须满足所到达位置上的字母比当前位置大。
小蓝和小伙伴们可以移动任意多次,也可以随时停下来,这样就找到了一个上升子串。
只要子串在矩阵中的位置不同,就认为是不同的子串。
小蓝想知道,一共可以找到多少个上升子串。
小蓝的矩阵很大,已经放在了试题目录下面,叫inc.txt。
为了更清楚的描述问题,他还找了一个很小的矩阵用来解释。
例如,对于矩阵:ABBC可以找到4个长度为1的上升子串、4个长度为2的上升子串、2个长度为3的上升子串,共10个。
现在,请你对于小蓝的大矩阵,找到上升子串的数量。
【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。
本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
试题E:上升子串6第十一届蓝桥杯大赛软件类省赛第三场C/C++大学B组试题F:日期识别时间限制:1.0s内存限制:256.0MB本题总分:15分【问题描述】小蓝要处理非常多的数据,其中有一些数据是日期。
在小蓝处理的日期中有两种常用的形式:英文形式和数字形式。
英文形式采用每个月的英文的前三个字母作为月份标识,后面跟两位数字表示日期,月份标识第一个字母大写,后两个字母小写,日期小于10时要补前导0。
1月到12月英文的前三个字母分别是Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、Dec。
数字形式直接用两个整数表达,中间用一个空格分隔,两个整数都不写前导0。
其中月份用1至12分别表示1月到12月。
输入一个日期的英文形式,请输出它的数字形式。
【输入格式】输入一个日期的英文形式。
【输出格式】输出一行包含两个整数,分别表示日期的月和日。
【样例输入】Feb08【样例输出】28【样例输入】Oct18试题F:日期识别7第十一届蓝桥杯大赛软件类省赛第三场C/C++大学B组【样例输出】1018试题F:日期识别8第十一届蓝桥杯大赛软件类省赛第三场C/C++大学B组试题G:乘法表时间限制:1.0s内存限制:256.0MB本题总分:20分【问题描述】九九乘法表是学习乘法时必须要掌握的。
在不同进制数下,需要不同的乘法表。
例如,四进制下的乘法表如下所示:1*1=12*1=22*2=103*1=33*2=123*3=21请注意,乘法表中两个数相乘的顺序必须为样例中所示的顺序,不能随意交换两个乘数。
给定P,请输出P进制下的乘法表。
【输入格式】输入一个整数P。
【输出格式】输出P进制下的乘法表。
P进制中大于等于10的数字用大写字母A、B、C、···表示。
【样例输入】4【样例输出】1*1=12*1=22*2=103*1=33*2=123*3=21试题G:乘法表9第十一届蓝桥杯大赛软件类省赛第三场C/C++大学B组【样例输入】8【样例输出】1*1=12*1=22*2=43*1=33*2=63*3=114*1=44*2=104*3=144*4=205*1=55*2=125*3=175*4=245*5=316*1=66*2=146*3=226*4=306*5=366*6=447*1=77*2=167*3=257*4=347*5=437*6=527*7=61【评测用例规模与约定】对于所有评测数据,2≤P≤36。
试题G:乘法表10第十一届蓝桥杯大赛软件类省赛第三场C/C++大学B组试题H:限高杆时间限制:1.0s内存限制:256.0MB本题总分:20分【问题描述】某市有n个路口,有m段道路连接这些路口,组成了该市的公路系统。
其中一段道路两端一定连接两个不同的路口。
道路中间不会穿过路口。
由于各种原因,在一部分道路的中间设置了一些限高杆,有限高杆的路段货车无法通过。
在该市有两个重要的市场A和B,分别在路口1和n附近,货车从市场A 出发,首先走到路口1,然后经过公路系统走到路口n,才能到达市场B。
两个市场非常繁华,每天有很多货车往返于两个市场之间。
市长发现,由于限高杆很多,导致货车可能需要绕行才能往返于市场之间,这使得货车在公路系统中的行驶路程变长,增加了对公路系统的损耗,增加了能源的消耗,同时还增加了环境污染。
市长决定要将两段道路中的限高杆拆除,使得市场A和市场B之间的路程变短。
请问最多能减少多长的距离?【输入格式】输入的第一行包含两个整数n,m,分别表示路口的数量和道路的段数。
接下来m行,每行四个整数a,b,c,d,表示路口a和路口b之间有一段长度为c的道路。
如果d为0,表示这段道路上没有限高杆;如果d为1,表示这段道路上有限高杆。
两个路口之间可能有多段道路。
输入数据保证在不拆除限高杆的情况下,货车能通过公路系统从路口1正常行驶到路口n。
【输出格式】输出一行,包含一个整数,表示拆除两段道路的限高杆后,市场A和市场B之间的路程最大减少多长距离。
试题H:限高杆11第十一届蓝桥杯大赛软件类省赛第三场C/C++大学B组【样例输入】571210232113905380435143904540【样例输出】6【样例说明】只有两段道路有限高杆,全部拆除后,1到n的路程由原来的17变为了11,减少了6。
【评测用例规模与约定】对于30%的评测样例,2≤n≤10,1≤m≤20,1≤c≤100。
对于50%的评测样例,2≤n≤100,1≤m≤1000,1≤c≤1000。
对于70%的评测样例,2≤n≤1000,1≤m≤10000,1≤c≤10000。
对于所有评测样例,2≤n≤10000,2≤m≤100000,1≤c≤10000,至少有两段道路有限高杆。
试题H:限高杆12第十一届蓝桥杯大赛软件类省赛第三场C/C++大学B组试题I:画中漂流时间限制:1.0s内存限制:256.0MB本题总分:25分【问题描述】在梦境中,你踏上了一只木筏,在江上漂流。
根据对当地的了解,你知道在你下游D米处有一个峡谷,如果你向下游前进大于等于D米则必死无疑。
现在你打响了急救电话,T秒后救援队会到达并将你救上岸。
水流速度是1m/s,你现在有M点体力。
每消耗一点体力,你可以划一秒桨使船向上游前进1m,否则会向下游前进1m(水流)。
M点体力需在救援队赶来前花光。
因为江面太宽了,凭借你自己的力量不可能上岸。
请问,有多少种划桨的方案可以让你得救。
两个划桨方案不同是指:存在某一秒钟,一个方案划桨,另一个方案不划。
【输入格式】输入一行包含三个整数D,T,M。