2021第十二届蓝桥杯Python组省赛第一场(真题&题解)

十二届蓝桥杯Python组省赛试题及解析

  1. A题:卡片
  2. B题:直线
  3. C题:货物摆放
  4. D题:路径
  5. E题:回路计数
  6. F题:时间显示
  7. G题:杨辉三角形
  8. H题:左孩子右孩子
  9. I题:异或数列
  10. J题:括号序号

先把省赛试题分享出来,再慢慢完善题解

我的感悟:相对于C++组跟Java组来说,Python组的竞争可能相对较小,省赛能得奖的几率很大。这次省赛,在学校老师的建议下上了Python组的车,没想到最后竟然在省一区找到了自己的名字(省赛时自己是算法小白)。省赛已经过去了快一个月,离国赛(6月5号)也不远了,现在正在积极学习算法备战国赛,希望能不辜负老师的期望拿到国奖,也算给自己一个交代。冲!

试题原文件的链接在文末


A题:卡片

2021第十二届蓝桥杯Python组省赛第一场(真题&题解)_第1张图片
【分析】
拼接每个数字,如果其中单个卡片的数量超过2021,则中断循环,并输出拼接前的上一个数

【代码】

n=1
s=""
num=2021
while True:
    s=s+str(n)
    #拼接每个数字,如果其中单个卡片的数量超过2021,则中断循环,并输出拼接前的上一个数
    #这里只用判断1就行了,因为1用的最快
    if s.count("0")>num or s.count("1")>num or s.count("2")>num or s.count("3")>num or s.count("4")>num or s.count("5")>num or s.count("6")>num or s.count("7")>num or s.count("8")>num or s.count("9")>num:
        print(n-1)
        break
    n+=1
#结果为 3181

B题:直线

2021第十二届蓝桥杯Python组省赛第一场(真题&题解)_第2张图片
【分析】

【代码】

在这里插入代码片



C题:货物摆放

2021第十二届蓝桥杯Python组省赛第一场(真题&题解)_第3张图片

【解析】
【代码】

import time
startTime=time.time()
n=int(input())
s=[]
#找出n所有的因数
for i in range(1,int(n**0.5)+1):
    if n%i==0:
        s.append(i)
        s.append(n//i)
res=set()  #set集合可以自动去重
for x in s:
    for y in s:
        for z in s:
            if x*y*z==n:
                res.add((x,y,z))
endTime=time.time()
print("costTime",endTime-startTime)  #耗时
print(len(res))

D题:路径

2021第十二届蓝桥杯Python组省赛第一场(真题&题解)_第4张图片

【解析】
【代码】

在这里插入代码片

E题:回路计数

2021第十二届蓝桥杯Python组省赛第一场(真题&题解)_第5张图片

【解析】
【代码】

在这里插入代码片

以下为大题

F题:时间显示

2021第十二届蓝桥杯Python组省赛第一场(真题&题解)_第6张图片

【样例输入 1】
46800999
【样例输出 1】
13:00:00
【样例输入 2】
1618708103123
【样例输出 2】
01:08:23

【解析】
【代码】

#
import datetime
n=int(input())
beginTime=datetime.datetime(1970,1,1,0,0,0)
#定义时间元,只需开始时间加上间隔就可得到结束时间,然后再做格式控制输出只取时间部分
sep=datetime.timedelta(milliseconds=n)
endTime=beginTime+sep
#print(beginTime)
#print(endTime)
# :为格式限定符,0表示填充的字符,>表示右对齐,2表示宽度,d表示类型
#综上:{:0>2d}的意思为:右对齐,空位补零的长度为2的整数(考试前一天刚好复习到哈哈哈)
print("{:0>2d}:{:0>2d}:{:0>2d}".format(endTime.hour,endTime.minute,endTime.second))

G题:杨辉三角

2021第十二届蓝桥杯Python组省赛第一场(真题&题解)_第7张图片

【评测用例规模与约定】
对于 20% 的评测用例,1 ≤ N ≤ 10;
对于所有评测用例,1 ≤ N ≤ 1000000000。

【解析】
【代码】

在这里插入代码片

H题:左孩子右兄弟

2021第十二届蓝桥杯Python组省赛第一场(真题&题解)_第8张图片
2021第十二届蓝桥杯Python组省赛第一场(真题&题解)_第9张图片

【评测用例规模与约定】
对于 30% 的评测用例,1 ≤ N ≤ 20;
对于所有评测用例,1 ≤ N ≤ 100000。

【解析】
【代码】

在这里插入代码片

I题:异或数列

2021第十二届蓝桥杯Python组省赛第一场(真题&题解)_第10张图片

【样例输入】
4
1 1
1 0
2 2 1
7 992438 1006399 781139 985280 4729 872779 563580
【样例输出】
1011
【评测用例规模与约定】
对于所有评测用例,1 ≤ T ≤ 200000,1 ≤ ∑Ti=1 ni ≤ 200000,0 ≤ Xi < 2^20

【解析】
【代码】

在这里插入代码片

J题:括号数列

2021第十二届蓝桥杯Python组省赛第一场(真题&题解)_第11张图片

【解析】
【代码】

在这里插入代码片

文件地址:
链接:https://pan.baidu.com/s/1owi0CK_guKXUARIRZv48iw
提取码:wr8g

你可能感兴趣的:(算法,python,算法,编程语言)