当前位置:   article > 正文

2022年第十三届蓝桥杯研究生Python组题目分享_蓝桥杯研究生组题目

蓝桥杯研究生组题目

4.28更新:最后拿了省二....

1.比赛过程总结

因为众所周知的缘故,今年蓝桥杯很多地方改成了线上。暴力圈钱杯变成了厕所抄袭杯...不过实际情况比我想象中要好一点点。填空题由五道改成了两道,大题变成了八道。一定程度上减少了一些抄袭情况,当然完全避免肯定还是不可能的...

考前模拟时系统崩溃了,很担心考试时再出现这种情况,不过还好正式比赛时并没有出现这种情况。但是还是要吐槽几点:

1.参赛题目解压密码一开始始终解压不了文件,心态直接有点崩溃。直到开考八分钟后才解压成功,也不知道是什么问题...期间还特意下了一个新的解压软件。

2.监考软件只要一离开考试界面去看题目的PDF或者打开编程软件,就黄牌警告你...说你故意离开界面。把我给整不会了,问官方也一直不回复。过来二十分钟才通知是系统问题...有点无语,最后统计黄牌警告了49次...

3.题目出的也有点问题,通知的就有两个题目样例错误。还有一道题目样例是最后二十分钟通知的...

4.腾讯会议貌似一个考场35个人,好像也是研究生兼职监考。貌似也不怎么看,有时申请上厕所都半天不理..离谱。

然后大家参赛的话要注意以下几点:

1.可以使用其他编程软件,Pycharm什么的,不是限定idle。官方员工说的,实际考试时我用的vscode,也没什么问题。

2.双机位监考。后面的手机打开腾讯会议时可能会因为各自原因断开,比如掉地上了什么的,如果自己一直没注意的话就惨了。最好时不时注意以下有没有断开会议。

2.题目分享

虽然大家总说蓝桥杯是暴力杯,不过总的来说最近两年的题目质量还是不错的。只是它是按比例获奖,但是有些题目还是挺难的。最后我做了一道填空题,三道半大题。其他大题就把样例混了一下。估计保底省三吧,不知道有没有省二。研究生混个加分也不容易...以下是具体题目:

填空题1:裁纸刀

问题描述:小蓝有一个裁纸刀,每次可以将一张纸沿一条直线裁成两半。 小蓝用一张纸打印出两行三列共 6 个二维码,至少使用九次裁出来,下图给出了一种裁法:

  1. #答案 送分题
  2. 443

填空题2:寻找整数

问题描述:有一个不超过 1017 的正整数 n,知道这个数除以 2 至 49 后的余数如下表 所示,求这个正整数最小是多少。

大题1:质因数个数

 问题描述:给定正整数 n,请问有多少个质数是 n 的约数

  1. #质因数
  2. #分解质因数
  3. def f(x):
  4. i=2
  5. l=[]
  6. while i<=x:
  7. if x%i==0:
  8. l.append(i)
  9. x//=i
  10. else:
  11. i+=1
  12. return l
  13. #print(f(396))
  14. #判断是否是质数
  15. def if_yes(x):
  16. if x<=1:
  17. return 0
  18. count=0
  19. for i in range(2,x+1):
  20. if x%i==0:
  21. count+=1
  22. if count==1:
  23. return 1
  24. else:
  25. return 0
  26. n=int(input())
  27. list1=f(n)
  28. list2=[]
  29. for i in list1:
  30. if if_yes(i)==1 and i not in list2:
  31. list2.append(i)
  32. print(len(list2))

 大题2:矩形拼接

问题描述:已知 3 个矩形的大小依次是 a1 × b1, a2 × b2 和 a3 × b3。用这 3 个矩形能拼 出的所有多边形中,边数最少可以是多少? 例如用 3 × 2 的矩形(用 A 表示)、4 × 1 的矩形(用 B 表示)和 2 × 4 的矩 形(用 C 表示)可以拼出如下 4 边形。

 

 

 大题3:消除游戏

问题描述:在一个字符串 S 中,如果 S i = S i−1 且 S i , S i+1 ,则称 S i 和 S i+1 为边缘 字符。如果 S i , S i−1 且 S i = S i+1,则 S i−1 和 S i 也称为边缘字符。其它的字符 都不是边缘字符。 对于一个给定的串 S,一次操作可以一次性删除该串中的所有边缘字符 (操作后可能产生新的边缘字符)。 请问经过 2 64 次操作后,字符串 S 变成了怎样的字符串,如果结果为空则 输出 EMPTY。

  1. #消除游戏
  2. strings=input()
  3. need=''
  4. list1=[0 for i in range(len(strings))]
  5. #print(list1)
  6. if len(strings)<=2:
  7. print(strings)
  8. else:
  9. for j in range(1,2**18):
  10. if len(strings)==1:
  11. print(strings)
  12. break
  13. for i in range(len(strings)):
  14. #边缘特殊情况
  15. if i==0:
  16. if strings[i]==strings[i+1]:
  17. list1[i]=1
  18. if i==len(strings)-1:
  19. if strings[i]==strings[i-1]:
  20. list1[i]==1
  21. else:
  22. #print(strings[i-1],strings[i],strings[i+1])
  23. if strings[i]==strings[i-1] and strings[i]!=strings[i+1]:
  24. list1[i]=list1[i+1]=1
  25. if strings[i]!=strings[i-1] and strings[i]==strings[i+1]:
  26. list1[i]=list1[i-1]=1
  27. need=strings
  28. strings=""
  29. for i in range(len(list1)):
  30. if list1[i]==0:
  31. strings+=need[i]
  32. list1=[0 for i in range(len(strings))]
  33. if strings=="":
  34. print('EMPTY')
  35. else:
  36. if len(strings)>=2:
  37. print(strings)

 大题4:爬树的甲壳虫

问题描述:有一只甲壳虫想要爬上一颗高度为 n 的树,它一开始位于树根,高度为 0, 当它尝试从高度 i − 1 爬到高度为 i 的位置时有 Pi 的概率会掉回树根,求它从 树根爬到树顶时,经过的时间的期望值是多少

 

 大题5:技能升级

问题描述:小蓝最近正在玩一款 RPG 游戏。他的角色一共有 N 个可以加攻击力的技 能。其中第 i 个技能首次升级可以提升 Ai 点攻击力,以后每次升级增加的点数 都会减少 Bi。⌈ Ai Bi ⌉ (上取整) 次之后,再升级该技能将不会改变攻击力。 现在小蓝可以总计升级 M 次技能,他可以任意选择升级的技能和次数。请 你计算小蓝最多可以提高多少点攻击力?

  1. #技能升级
  2. #发现最大值
  3. def finds(list4):
  4. max=0
  5. flags=-1
  6. for i in range(len(list4)):
  7. if list4[i]>max:
  8. max=list4[i]
  9. flags=i
  10. return max,flags
  11. n,m=map(int,input().split())
  12. list3=[]
  13. list1=[[0 for j in range(2)]for i in range(n)]
  14. #print(list1)
  15. for i in range(n):
  16. list1[i]=list(map(int,input().split()))
  17. list3.append(int(list1[i][0]))
  18. '''
  19. list1=[[10, 5], [9, 2], [8, 1]]
  20. list2=[2, 5, 8]
  21. list3=[10,9,8]
  22. '''
  23. count=0
  24. for i in range(m):
  25. maxs,flags=finds(list3)
  26. count+=maxs
  27. list3[flags]=list3[flags]-list1[flags][1]
  28. if list3[flags]<=0:
  29. list3[flags]=0
  30. #print(count,flags,list3)
  31. print(count)

 大题6:因数平方和

问题描述:记 f(x) 为 x 的所有因数的平方的和。例如:f(12) = 12 + 22 + 32 + 42 + 62 + 122。 定义 g(n) = ∑n i=1 f(i) 。给定 n, 求 g(n) 除以 109 + 7 的余数

 大题7:扫描游戏

问题描述:有一根围绕原点 O 顺时针旋转的棒 OA,初始时指向正上方(Y 轴正向)。 在平面中有若干物件,第 i 个物件的坐标为 (xi , yi) ,价值为 zi。当棒扫到某个 物件时,棒的长度会瞬间增长 zi,且物件瞬间消失(棒的顶端恰好碰到物件也 视为扫到),如果此时增长完的棒又额外碰到了其他物件,也按上述方式消去 (它和上述那个点视为同时消失)。 如果将物件按照消失的时间排序,则每个物件有一个排名,同时消失的物 件排名相同,请输出每个物件的排名,如果物件永远不会消失则输出 −1

 大题8:数的拆分

问题描述:给定 T 个正整数 ai,分别问每个 ai 能否表示为 x y1 1 · x y2 2 的形式,其中 x1, x2 为正整数,y1, y2 为大于等于 2 的正整数

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/342347
推荐阅读
相关标签
  

闽ICP备14008679号