试卷 第十四届蓝桥杯Python国赛真题
第十四届蓝桥杯Python国赛真题
编程题
第 1 题    问答题

第十四届蓝桥杯Python国赛:给定一个字符串SS长度<100),统计字符串中字母一共有多少个。

例如:S =1Abb”,其中字母有Abb一共有3个。

输入描述

输入一个字符串SS长度<100

输出描述

输出一个整数,表示字符串S中字母的个数

样例输入

1Abb

样例输出

3

第 2 题    问答题

蓝桥杯青少组Python国赛编程题:有一个由多个小正六边形组成的蜂巢图案,蜂巢外缘各边的小正六边形数量一致,且左右对称。

以下为竖直对称线上小正六边形个数为3573个蜂巢图案。

 

编程实现:

有一只蜗牛要从竖直对称线顶端的小正六边形处移动到底端的小正六边形中,它每次只能向它所在位置的小正六边形的左下方、正下方、右下方相邻的小正六边形处移动。

已知竖直对称线上有N个小正六边形,请计算出蜗牛从竖直对称线顶端移动到底端共有多少条不同的移动路线。

例如:N = 3,竖直对称线上有3个小正六边形,如下图:

蜗牛从竖直对称线顶端的小正六边形处(1号处)移动到另一端的小正六边形中(7号处)共有11条不同的路线。

11条不同的路线分别为:

1->2->5->7)、(1->2->4->7)、(1->2->4->5->7)、(1->2->4->6->7)、(1->4->5->7)、(1->4->7)、(1->4->6->7)、(1->3->4->5->7)、(1->3->4->7)、(1->3->4->6->7)、(1->3->6->7)。

输入描述

输入一个正整数N2N30N为奇数),表示图案上竖直对称线上小正六边形的个数

输出描述

输出一个整数,表示蜗牛从竖直对称线顶端移动到底端共有多少条不同的移动路线

样例输入

3

样例输出

11

第 3 题    问答题

某公司有多间会议室,可使用时间为8点到22点,同一会议室同一时间段只能由一个部门使用。

一天有N1N50)个部门计划使用同一间会议室,且已知每个部门计划使用的开始时间S8S21)和结束时间ESE22)。请计算出这间会议室最多可以安排多少个部门使用。

例如:N = 33个部门计划使用的开始及结束时间依次为(912),(1015),(1520)。

10~12点的时间段,部门1和部门2都计划使用,所以只能由一个部门使用;15~20点的时间段,只有部门3计划使用,所以这间会议室最多可以安排2个部门使用(部门1和部门3或者部门2和部门3)。

输入描述

第一行输入一个正整数N1N50),表示计划使用同一间会议室的部门数量

接下来输入N行,每行两个正整数SE8S21SE22),分别表示某部门计划使用会议室的开始时间和结束时间,正整数之间以一个空格隔开

输出描述

输出一个整数,表示这间会议室最多可以安排多少个部门使用

 

样例输入

3

9 12

10 15

15 20

样例输出

2

第 4 题    问答题

小贝要做一份黑暗料理,现有N2N20)种不同的食材供她选择,食材编号从1N。其中有些食材同时食用会产生副作用,所以产生副作用的食材只能选择其中一种食材或者都不选择。

已知同时食用会产生副作用的食材有M对(0MN*N-1/2),请计算出这份黑暗料理中最多能有多少种食材。

注意:会产生副作用的食材以两个编号表示,两个编号不等且编号小的在前,例如(12)和(23)。

例如:N=5M=3时,5种食材编号为15,其中有3对食材会产生副作用:(12)、(23)、(45)。可选择134号食材或135号食材做黑暗料理,最多可以有3种食材

输入描述

第一行输入两个正整数N2N20)和M0MN*N-1/2),分别表示食材数量及会产生副作用的食材对数,两个正整数之间以一个空格隔开

接下来输入M行,每行两个正整数(1≤正整数≤N),表示会产生副作用的两种食材编号,两个正整数之间以一个空格隔开,两个编号不等且编号小的在前

输出描述

输出一个整数,表示这份黑暗料理中最多能有多少种食材

 

样例输入

5 3

1 2

2 3

4 5

样例输出

3

第 5 题    问答题

小蓝从公司出发,要去拜访N3N15)个客户,已知公司到每个客户的路程时间,及N个客户之间的路程时间。请计算出小蓝拜访完所有客户并返回到公司,最少需要多少时间。(道路双向通行,可重复走)

例如:N = 3,有3个客户需要拜访,公司到1号、2号、3号客户的路程时间依次为975,客户1到客户2和客户3的路程时间依次是46,客户2到客户3的路程时间是3

从公司出发拜访完3名客户并返回公司最少需要的路程时间为21,行走路线为:公司 --> 3 --> 2 --> 1 --> 公司(21=5+3+4+9)。

 

输入描述

第一行输入一个正整数N3N15),表示要拜访的客户数量

第二行输入N个正整数(1≤正整数≤1000),依次表示公司到1~N号客户的路程时间,正整数之间以一个空格隔开

第三行输入N-1个正整数(1≤正整数≤1000),依次表示1号客户到2~N号客户的路程时间,正整数之间以一个空格隔开

第四行输入N-2个正整数(1≤正整数≤1000),依次表示2号客户到3~N号客户的路程时间,正整数之间以一个空格隔开

......

N+1行输入一个正整数(1≤正整数≤1000),表示N-1号客户到N号客户的路程时间

输出描述

输出一个整数,表示小蓝拜访完N名客户并返回公司最少需要的路程时间

 

样例输入

3

9 7 5

4 6

3

样例输出

21

第 6 题    问答题

有一组正整数数据,现对这组数据按照如下操作:

1)从这组数中找出两个相邻且相同的数,删掉其中一个数,剩下的一个数加1(例如:两个相邻的6,变成一个7);

2)重复操作第1步,直到这组数据中没有相邻且相同的数时,操作结束。

现给定N1N2000)个正整数,表示这一组数,请问按照要求操作结束后,这组数据中最大的数是多少。

注意:不同的操作方式得到的最后结果不同,要求最后的结果是所有操作方式中最大的。

 

例如:

N=6,这组数为 122234时,

可获得最大结果的操作如下:

第一次操作:将这组数据中后两个相邻的2,变成3,此时这组数变为12334

第二次操作:将这组数据中两个相邻的3,变成4,此时这组数变为1244

第三次操作:将这组数据中两个相邻的4,变成5,此时这组数变为125

此时这组数据中没有相邻且相同的数,操作结束,最大的数是5

 

非最大结果的操作如下:

第一次操作:将这组数据中前两个相邻的2,变成3,此时这组数变为13234

此时这组数据中没有相邻且相同的数,操作结束,最大的数是4

所以按照要求操作结束后,这组数据中可获得的最大数是5

 

输入描述

第一行输入一个正整数N1N2000

第二行输入N个正整数(1≤正整数≤40),相邻两个数之间以一个空格隔开

输出描述

输出一个正整数,表示所有操作方式中最大的结果

 

样例输入

6

1 2 2 2 3 4

样例输出

5

答题卡
编程题
1 2 3 4 5 6
题目总数:6
总分数:350
时间:不限时