导航菜单
首页 >  python真题百度网盘  > 【蓝桥真题】

【蓝桥真题】

 大家好,我是爱分享的小蓝,欢迎大家来对答案~ 

全文目录

🏆混奖感言

⭐试题 A: 排列字母

 💡思路点拨

🍞代码详解  

⭐试题 B: 寻找整数

 💡思路点拨

🍞代码详解  

⭐试题 C: 纸张尺寸

🚀传送锚点

 💡思路点拨

🍞代码详解  

⭐试题 D: 数位排序

🚀传送锚点

 💡思路点拨

🍞代码详解  

⭐试题 E: 蜂巢

🚀传送锚点

 💡思路点拨

🍞代码详解  

⭐试题 F: 消除游戏

🚀传送锚点

 💡思路点拨

🍞代码详解  

⭐试题 G: 全排列的价值

🚀传送锚点

 💡思路点拨

🍞代码详解  

⭐试题 H: 技能升级

🚀传送锚点

 💡思路点拨

🍞代码详解  

⭐试题 I: 最长不下降子序列

🚀传送锚点

 💡思路点拨

🍞代码详解  

⭐试题 J: 最优清零方案

🚀传送锚点

 💡思路点拨

🍞代码详解  

💌考后寄语

🏆混奖感言

首先感谢关注我的小伙伴们!你们都太棒啦!小蓝为你们感到骄傲!\(@^0^@)/

嘿嘿,小蓝第一次参加,混了个省二🥈

心路过程

哇塞!看到自己的名字在获奖名单里,直接从座位上蹦起来,开心地做了10个开合跳 \ ^o^ /

心想:我的300块终于可以回来了,300块报名费没有打水漂,嘿嘿~美滋滋~ ✪ ω ✪

但仔细一算成绩,自己占总人数的12%,还差2%就能变省一,可能就差那2分···啊咧 (っ °Д °;)っ

认清现实,不能去国赛和小伙伴见面了,手里的鸡腿瞬间不香了···大脑空白ing o_o ....

痛定思痛,必须反思!刨根问底,找出原因!问自己5个why???

分析原因

为什么没得省一?因为分数低。

为啥分数低?因为题目做不出来。

为啥题目做不出来?因为考试太紧张了,大脑一片空白。

为啥考试会紧张?因为准备不充足,担心考不好。

为啥准备不充足?因为学习没有规划,学习效率太低,考试过于焦虑。

找到自身的3个原因后,那我接下来该怎么做?

解决方案

1、制定计划:考前一个月制定详细的刷题计划。(滴答清单)

2、高效刷题:高效率专注认真的刷题。(番茄钟,柳比歇夫时间管理法)

3、心理平衡:保持内心情绪的稳定平和。(轻音乐)

⭐试题 A: 排列字母

 💡思路点拨

第一题打卡题,就挺简单滴~

考python基础语法:字符串排序sorted() + 字符串连接"".join()

🍞代码详解   #试题A:排列字母s="WHERETHEREISAWILLTHEREISAWAY"print("".join(sorted(s)))#AAAEEEEEEHHHIIILLRRRSSTTWWWY'''样例测试1:s="LANQIAO"print(sorted(s))print("".join(sorted(s)))['A', 'A', 'I', 'L', 'N', 'O', 'Q']AAILNOQ样例测试2:s="GOODGOODSTUDYDAYDAYUP"print("".join(sorted(s)))AADDDDDGGOOOOPSTUUYYY'''⭐试题 B: 寻找整数

 💡思路点拨

第二题,难度直接起飞!第一题就是个幌子,第二题开始光明正大的上难度了。

这题纯靠暴力解法,小蓝考试时不会做,直接枚举49组数据,结果一天都跑不完!

后来发现了大佬的方法,真是妙绝!下面这道题解法参考大佬思路:2022第十三届蓝桥杯PythonB组_ephemeral-fever的博客-CSDN博客

还可以找规律用最小公倍数做出来,下面参考大佬的解法:

​​​​​​第十三届蓝桥杯Python B组第二题_一天掉10根头发的博客-CSDN博客

接下来拿出新手必会的大杀器来做——暴力解法!

暴力求解谁都会,关键是什么呢?如何优化代码,能在比赛的2小时内跑完程序。

最好的方法就是找规律,发现数据之间的联系~

从枚举一个个数据:每次+1

到枚举一批批的数据:每次+38137680

速度直接起飞~

暴力三步走:

1.枚举数据找规律:取表后面5个大数判断更容易找到大数据,得到关键数据。

2.找出规律求公式:这些数字是按判断求得的,所以一定存在公式。

3.遍历公式找答案:通过公式进行快速遍历,30s轻松找到十六位数的答案。

🍞代码详解   #1.枚举数据找规律i=1while True:flag=Trueif i%49!=46:flag=Falseif i%48!=41:flag=Falseif i%47!=5:flag=Falseif i%46!=15:flag=Falseif i%45!=29:flag=Falseif flag:print(i)i+=1'''47720094290968981047369119185049157322729···''' #2.找出规律求公式a=[4772009, 42909689, 81047369, 119185049,157322729]#发现存在等差数列print(a[1]-a[0])#38137680print(a[2]-a[1])#38137680print(a[3]-a[2])#38137680k=38137680b=4772009#求出公式y=k*x+b #3.遍历公式找答案#题目数据mod = [(2, 1), (14, 11), (26, 23), (38, 37),(3, 2), (15, 14), (27, 20), (39, 23),(4, 1), (16, 9), (28, 25), (40, 9),(5, 4), (17, 0), (29, 16), (41, 1),(6, 5), (18, 11), (30, 29), (42, 11),(7, 4), (19, 18), (31, 27), (43, 11),(8, 1), (20, 9), (32, 25), (44, 33),(9, 2), (21, 11), (33, 11), (45, 29),(10, 9), (22, 11), (34, 17), (46, 15),(11, 0), (23, 15), (35, 4), (47, 5),(12, 5), (24, 17), (36, 29), (48, 41),(13, 10), (25, 9), (37, 22)]#遍历公式x=0k=38137680b=4772009while True:flag=Truey=k*x+bfor i,j in mod:if y%i !=j:flag=Falsebreakif flag==True:print(y)#2022040920220409breakx+=1⭐试题 C: 纸张尺寸 🚀传送锚点

 💡思路点拨

这道题其实挺简单的,找到规律就能解!

小蓝考场上挺急的,直接就草稿纸手推10种方案,比较耗时间,不太推荐。

稍微动一下脑筋其实挺容易的,找到规律:每次折叠后,都有一条边减少了一半。

我们列出关于边的所有情况,分别是:旧长,旧宽,新长,新宽。

通过折叠几次手里的草稿纸,可以发现规律,新长=旧宽,新宽=旧长/2。

不断迭代下去,就搞定啦~

🍞代码详解   #试题 C: 纸张尺寸s=input() #A1n=int(s[1])#1x,y=1189,841#旧长,旧宽for i in range(n): #0x,y=y,x//2 #841,1189//2print(x)#841print(y)#594⭐试题 D: 数位排序 🚀传送锚点

 💡思路点拨

依旧还是一道数论题,蓝桥杯从前年的暴力杯,到去年的动规杯,最后来到今年的数论杯。

不禁感慨~真是一年比一年卷呀~小蓝感觉自己就是个包心菜,虽然很卷,但还是菜(/▽\)

🍞代码详解   #试题 D: 数位排序n=int(input())m=int(input())d=dict()for i in range(1,n+1):d[i]=sum(list(map(int,str(i)))) #建立字典里的键值对l=list(d.items())#将字典的键值对转换成列表方便排序l.sort(key=lambda x:x[1])#按第二个参数排序print(l[m-1][0])'''input:135print:3d字典:d={1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7,8: 8, 9: 9, 10: 1, 11: 2, 12: 3, 13: 4}l排序前:l=[(1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7),(8, 8), (9, 9), (10, 1), (11, 2), (12, 3), (13, 4)]l排序后:l=[(1, 1), (10, 1), (2, 2), (11, 2), (3, 3), (12, 3), (4, 4),(13, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9)]'''⭐试题 E: 蜂巢 🚀传送锚点

 💡思路点拨

非常感谢评论区两位大佬的题解!题解非常通俗易懂!

不仅有详细的注释,而且注释详细,小伙伴点击下面

相关推荐: