image

编辑人: 流年絮语

calendar2025-07-25

message8

visits738

第十四届蓝桥杯青少组模拟赛Python真题(2022年11月8日)参考答案

一、实操题

1、二进制位数

十进制整数2在十进制中是1位数,在二进制中对应10,是2位数。

十进制整数22在十进制中是2位数,在二进制中对应10110,是5位数。

请问十进制整数2022在二进制中是几位数?

参考答案:十进制整数2022在二进制中是11位数。


2、晨跑

小蓝每周六、周日都晨跑,每月的1、11、21、31日也晨跑。其它时间不晨跑。

已知2022年1月1日是周六,请问小蓝整个2022年晨跑多少天?

参考答案:小蓝在2022年晨跑的天数为:104天。


3、调和级数

小蓝特别喜欢调和级数S(n) =1/1+1/2+1/3+1/4+..+1/n。

请问,n至少为多大时,S(n) > 12 ?

参考答案:我们需要计算调和级数S(n) = 1/1 + 1/2 + 1/3 + ... + 1/n,并找出当S(n) > 12时,n的最小值。


4、山谷

给定一个字母矩阵,如果矩阵中的某个位置不在四条边上,而且该位置上的字母小于其上下左右四个位置的字母,则称为一个山谷。

例如,对于如下矩阵

DDDDD

CADCE

FFFFA

共有两个山谷,位于第二行第二列和第四列。请注意第二行第三列和第三行第五列都不是山谷。

对于如下30行60列的字母矩阵(请用等宽字体查看),请问有多少个山谷?

PHQGHUMEAYLNLFDXFIRCVSCXGGBWKFNQDUXWFNFOZVSRTKJPREPGGXRPNRVY

STMWCYSYYCQPEVIKEFFMZNIMKKASVWSRENZKYCXFXTLSGYPSFADPOOEFXZBC

OEJUVPVABOYGPOEYLFPBNPLJVRVIPYAMYEHWQNQRQPMXUJJLOOVAOWUXWHMS

NCBXCOKSFZKVATXDKNLYJYHFIXJSWNKKUFNUXXZRZBMNMGQOOKETLYHNKOAU

GZQRCDDIUTEIOJWAYYZPVSCMPSAJLFVGUBFAAOVLZYLNTRKDCPWSRTESJWHD

IZCOBZCNFWLQIJTVDWVXHRCBLDVGYLWGBUSBMBORXTLHCSMPXOHGMGNKEUFD

XOTOGBGXPEYANFETCUKEPZSHKLJUGGGEKJDQZJENPEVQGXIEPJSRDZJAZUJL

LCHHBFQMKIMWZOBIWYBXDUUNFSKSRSRTEKMQDCYZJEEUHMSRQCOZIJIPFION

EEDDPSZRNAVYMMTATBDZQSOEMUVNPPPSUACBAZUXMHECTHLEGRPUNKDMBPPW

EQTGJOPARMOWZDQYOXYTJBBHAWDYDCPRJBXPHOOHPKWQYUHRQZHNBNFUVQNQ

QLRZJPXIOGVLIEXDZUZOSRKRUSVOJBRZMWZPOWKJILEFRAAMDIGPNPUUHGXP

QNJWJMWAXXMNSNHHLQQRZUDLTFZOTCJTNZXUGLSDSMZCNOCKVFAJFRMXOTHO

WKBJZWUCWLJFRIMPMYHCHZRIWKBARXBGFCBCEYHJUGIXWTBVTREHBBCPXIFB

XVFBCGKCFQCKCOTZGKUBMJRMBSZTSSHFROEFWSJRXJHGUZYUPZWWEIQURPIX

IQFLDUUVEOOWQCUDHNEFNJHAIMUCZFSKUIDUBURISWTBRECUYKABFCVKDZEZ

TOIDUKUHJZEFCZZZBFKQDPQZIKFOBUCDHTHXDJGKJELRLPAXAMCEROSWITDP

TPCCLIFKELJYTIHRCQAYBNEFXNXVGZEDYYHNGYCDRUDMPHMECKOTRWOSPOFG

HFOZQVLQFXWWKMFXDYYGMDCASZSGOVSODKJGHCWMBMXRMHUYFYQGAJQKCKLZ

NAYXQKQOYZWMYUBZAZCPKHKTKYDZIVCUYPURFMBISGEKYRGZVXDHPOAMVAFY

RARXSVKHTQDIHERSIGBHZJZUJXMMYSPNARAEWKEGJCCVHHRJVBJTSQDJOOTG

PKNFPFYCGFIEOWQRWWWPZSQMETOGEPSPXNVJIUPALYYNMKMNUVKLHSECDWRA

CGFMZKGIPDFODKJMJQWIQPUOQHIMVFVUZWYVIJGFULLKJDUHSJAFBTLKMFQR

MYJFJNHHSSQCTYDTEAMDCJBPRHTNEGYIWXGCJWLGRSMEAEARWTVJSJBAOIOJ

LWHYPNVRUIHOSWKIFYGTYDHACWYHSGEWZMTGONZLTJHGAUHNIHREQGJFWKJS

MTPJHAEFQZAAULDRCHJCCDYRFVVRIVUYEEGFIVDRCYGURQDREDAKUBNFGUPR

OQYLOBCWQXKZMAUSJGMHCMHGDNMPHNQKAMHURKTRFFACLVGRZKKLDACLLTEO

JOMONXRQYJZGINRNNZWACXXAEDRWUDXZRFUSEWJTBOXVYNFHKSTCENAUMNDD

XFDMVZCAUTDCCKXAAYDZSXTTOBBGQNGVVPJGOJOGLMKXGBFCPYPCKQCHBDDZ

WRXBZMQRLXVOBTWHXGINFGFRCCLMZNMJUGWWBSQFCIHUBSJOLLMSQSGHMCPH

ELSOTFLBGSFNPCUZSRUPCHYNVZHCPQUGRIWNIQXDFJPWPXFBLKPNPEELFJMT

参考答案:根据给定的矩阵,共有10个山谷。


5、最小矩阵

小蓝有一个100行100列的矩阵,矩阵的左上角为1。其它每个位置正好比其左边的数大2,比其上边的数大1。

例如,第1行第2列为3,第2行第2列为4,第10行第20列为48。

小蓝想在矩阵中找到一个由连续的若干行、连续的若干列组成的子矩阵,使得其和为2022,请问这个子矩阵中至少包含多少个元素(即子矩阵的行数和列数的乘积)。

参考答案:由于矩阵的生成规律,我们可以通过数学公式来找到规律,然后计算符合条件的子矩阵的最小面积。


6、核酸日期

如果周一做核酸,周二显示核酸天数为1天,周三显示2天,以此类推,周六显示5天,周日显示6天。

小蓝在某一天做了一次核酸,请问他的核酸显示为几天。已知做核酸和查看核酸不是在同一天,而且相差不超过6天(显示的数为1到6之间的数)。

输入格式

输入第一行包含一个整数s,表示小蓝做核酸是周几。s为1到6依次表示周一到周六,s为7表示周日。

第二行包含一个整数t,表示查看核酸是周几。t为1到6依次表示周一到周六,t为7表示周日。

输出格式

输出一行包含一个整数,表示答案。


样例输入

5
2

样例输出

4

评测用例规模与约定

对于所有评测用例,1<=s,t<=7。

参考答案:1


7、英文转换

输入一个由小写英文字母组成的字符串,请将其中的元音字母(a,e,i,o,u)转换成大写,其它字母仍然保持小写。

输入格式

输入一行包含一个字符串。

输出格式

输出转换后的字符串。


样例输入

lanqiao

样例输出

lAnqlAO

评测用例规模与约定

对于所有评测用例,字符串的长度不超过100。

参考答案:对于输入的字符串,我们需要遍历每个字符,检查它是否为元音字母。如果是,就将其转换为大写;如果不是,就保持原样。


8、充电器

小蓝有一个充电器,可以使用不同的电压和电流充电。

给定充电器工作的记录,请计算在这个记录期间总共通过充电传输了多少电能。

输入格式

输入第一行包含一个整数n,表示记录的条数。

接下来n行,每行包含一个时刻T和两个非负整数U,I,表示在时刻T充电电压变为U(单位伏),电流变为I(单位A)。最后一行满足U和l均为0,在前面的行中也可能出现U、I为0的情况。其中时间表示为HH:MM:SS的格式,时分秒分别用两位十进制数表示(补前导零)。

输入保证时刻依次递增且在00:00:00至23:59:59的区间内,不用考虑跨过零点充电的情况。

输出格式

输出一个整数,表示总共通电的电能为多少焦耳,其中1焦耳等于1伏乘以1安乘以1秒。


样例输入

3
12:00:00 12 1
12:01:02 5 2
12:01:10 0 0

样例输出

824

评测用例规模与约定

对于所有评测用例,1<=n<=100,0<=U,I<=100

参考答案:```#include #include #include using namespace std;int main() int n;cin >> n;long long energy = 0;long long last_time = 0;for (int i = 0; i < n; i++) {string time_str;int U, I;cin >> time_str >> U >> I;long long time = get_time(time_str);if (U == 0 && I == 0) {break;}if (last_time != 0) {energy += (time - last_time) * U * I;}last_time = time;}cout << energy << endl;return 0;long long get_time(string time_str) int h, m, s;s = stoi(time_str.substr(8, 2));m = stoi(time_str.substr(5, 2));h = stoi(time_str.substr(0, 2));return h * 3600 + m * 60 + s;```


9、全相等三角形

给定一个字母矩阵,定义一个LQ三角形为某行中连续的几个字母、某列中连续的几个字母和一条45度的斜线中连续的几个字母组成的等腰直角三角形的边缘部分,其中每条边上的字母数量相等且至少为2。

例如,对于下面的字母矩阵中,所有的字母L组成一个LQ三角形,所有字母Q组成了一个LQ三角形,所有字母C也组成了一个LQ三角形。

如果一个LQ三角形边上的所有字母相等,则称为一个全相等三角形。以三个例子都是全相等三角形。

给定一个字母矩阵,请求其中有多少个全相等三角形。

输入格式

输入第一行包含两个整数n,m,分别表示字母矩阵的行数和列数。

接下来n行,每行m个大写字母,为给定的矩阵。

输出格式

输出一行,包含一个整数,表示答案。


样例输入1

3 4
AAAA
ALAQ
ALQQ

样例输出1

4


样例输入2

6 7
AAAAAAA
ALLLLLA
ALQQLAA
ALQLAAC
ALLAACC
ALAACCC

样例输出2

23

评测用例规模与约定

对于50%的评测用例,1<=n,m<=10。对于所有评测用例,1<=n,m<=100。

参考答案:这道题是一道求解全相等三角形数量的算法题。可以使用动态规划来解决这个问题。首先,我们可以定义一个三维数组dp[i][j][k],其中i表示当前行,j表示当前列,k表示当前斜线。dp[i][j][k]表示以(i,j)为右下角的全相等三角形的数量。然后,我们可以使用动态规划的思想,从第一行开始,逐行计算dp数组。对于每一行,我们可以遍历所有的列和斜线,判断当前位置是否能够构成一个全相等三角形。如果可以,则更新dp数组。具体判断条件是:如果当前位置的字母和它的上方、左方、左上方三个位置的字母相等,则可以构成一个全相等三角形。此时,我们需要分别计算以当前位置为右下角的行三角形、列三角形和斜三角形的数量,并将它们累加到dp数组中。最后,输出dp[n][m][k]的最大值即可。


10、最小下标

小蓝有一个由大写字母ABCDEF组成的字符串S,长度为n,字符串的下标依次为0到n-1。

小蓝按照如下方法生成一个无限长的字符串:

首先选定一个0到n-1之间的数,作为初始下标。

从初始下标开始,将下标对应的字符加入到字符串的结尾,将字符的序号(A到F依次对应1到6)与下标相加作为新的下标值,如果下标大于等于n,将其对n求余。重复此过程,即得到无限长的字符串。例如,对于字符串ACDF,当初始下标是0时,生成的字符串为:ACACACACAC...

再如,对于字符串DCBA,当初始下标是1时,生成的字符串为:CDDDDDDDDD.…

给定小蓝的字符串S,请问当初始下标为多少时,生成的字符串最小。

输入格式

输入一行包含一个字符串。

输出格式

输出一行,包含一个整数,为所求的下标,如果有多个下标满足要求,输出最小的那个。


样例输入1

DCBA

样例输出1

3

样例输入2

AAAA

样例输出2

0

评测用例规模与约定

令|S|表示S的长度。

对于30%的评测用例,1<=|S|<=100。

对于50%的评测用例,1<=|S|<=1000。

对于70%的评测用例,1<=|S|<=10000。

对于80%的评测用例,1<=|S|<=100000。

对于所有评测用例,1<=|S|<=1000000。

参考答案:```pythonn = len(input())min_index = 0min_str = ""for i in range(n):str_i = ""index = iwhile True:str_i += chr(ord('A') + index % 6)index = index // 6if index >= n:index %= nif not str_i or str_i[0] > min_str[0]:breakif not str_i or str_i[0] < min_str[0]:min_str = str_imin_index = iprint(min_index)```


喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:第十四届蓝桥杯青少组模拟赛Python真题(2022年11月8日)参考答案

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share