赞
踩
因为众所周知的缘故,今年蓝桥杯很多地方改成了线上。暴力圈钱杯变成了厕所抄袭杯...不过实际情况比我想象中要好一点点。填空题由五道改成了两道,大题变成了八道。一定程度上减少了一些抄袭情况,当然完全避免肯定还是不可能的...
考前模拟时系统崩溃了,很担心考试时再出现这种情况,不过还好正式比赛时并没有出现这种情况。但是还是要吐槽几点:
1.参赛题目解压密码一开始始终解压不了文件,心态直接有点崩溃。直到开考八分钟后才解压成功,也不知道是什么问题...期间还特意下了一个新的解压软件。
2.监考软件只要一离开考试界面去看题目的PDF或者打开编程软件,就黄牌警告你...说你故意离开界面。把我给整不会了,问官方也一直不回复。过来二十分钟才通知是系统问题...有点无语,最后统计黄牌警告了49次...
3.题目出的也有点问题,通知的就有两个题目样例错误。还有一道题目样例是最后二十分钟通知的...
4.腾讯会议貌似一个考场35个人,好像也是研究生兼职监考。貌似也不怎么看,有时申请上厕所都半天不理..离谱。
然后大家参赛的话要注意以下几点:
1.可以使用其他编程软件,Pycharm什么的,不是限定idle。官方员工说的,实际考试时我用的vscode,也没什么问题。
2.双机位监考。后面的手机打开腾讯会议时可能会因为各自原因断开,比如掉地上了什么的,如果自己一直没注意的话就惨了。最好时不时注意以下有没有断开会议。
虽然大家总说蓝桥杯是暴力杯,不过总的来说最近两年的题目质量还是不错的。只是它是按比例获奖,但是有些题目还是挺难的。最后我做了一道填空题,三道半大题。其他大题就把样例混了一下。估计保底省三吧,不知道有没有省二。研究生混个加分也不容易...以下是具体题目:
问题描述:小蓝有一个裁纸刀,每次可以将一张纸沿一条直线裁成两半。 小蓝用一张纸打印出两行三列共 6 个二维码,至少使用九次裁出来,下图给出了一种裁法:
- #答案 送分题
- 443
问题描述:有一个不超过 1017 的正整数 n,知道这个数除以 2 至 49 后的余数如下表 所示,求这个正整数最小是多少。
问题描述:给定正整数 n,请问有多少个质数是 n 的约数
- #质因数
- #分解质因数
- def f(x):
- i=2
- l=[]
- while i<=x:
- if x%i==0:
- l.append(i)
- x//=i
- else:
- i+=1
- return l
-
- #print(f(396))
- #判断是否是质数
- def if_yes(x):
- if x<=1:
- return 0
- count=0
- for i in range(2,x+1):
- if x%i==0:
- count+=1
- if count==1:
- return 1
- else:
- return 0
-
- n=int(input())
- list1=f(n)
- list2=[]
- for i in list1:
- if if_yes(i)==1 and i not in list2:
- list2.append(i)
- print(len(list2))
问题描述:已知 3 个矩形的大小依次是 a1 × b1, a2 × b2 和 a3 × b3。用这 3 个矩形能拼 出的所有多边形中,边数最少可以是多少? 例如用 3 × 2 的矩形(用 A 表示)、4 × 1 的矩形(用 B 表示)和 2 × 4 的矩 形(用 C 表示)可以拼出如下 4 边形。
问题描述:在一个字符串 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。
- #消除游戏
- strings=input()
- need=''
- list1=[0 for i in range(len(strings))]
- #print(list1)
- if len(strings)<=2:
- print(strings)
- else:
- for j in range(1,2**18):
- if len(strings)==1:
- print(strings)
- break
- for i in range(len(strings)):
- #边缘特殊情况
- if i==0:
- if strings[i]==strings[i+1]:
- list1[i]=1
- if i==len(strings)-1:
- if strings[i]==strings[i-1]:
- list1[i]==1
- else:
- #print(strings[i-1],strings[i],strings[i+1])
- if strings[i]==strings[i-1] and strings[i]!=strings[i+1]:
- list1[i]=list1[i+1]=1
- if strings[i]!=strings[i-1] and strings[i]==strings[i+1]:
- list1[i]=list1[i-1]=1
- need=strings
- strings=""
- for i in range(len(list1)):
- if list1[i]==0:
- strings+=need[i]
- list1=[0 for i in range(len(strings))]
- if strings=="":
- print('EMPTY')
- else:
- if len(strings)>=2:
- print(strings)
- #技能升级
- #发现最大值
- def finds(list4):
- max=0
- flags=-1
- for i in range(len(list4)):
- if list4[i]>max:
- max=list4[i]
- flags=i
- return max,flags
-
- n,m=map(int,input().split())
- list3=[]
- list1=[[0 for j in range(2)]for i in range(n)]
- #print(list1)
- for i in range(n):
- list1[i]=list(map(int,input().split()))
- list3.append(int(list1[i][0]))
-
-
-
- '''
- list1=[[10, 5], [9, 2], [8, 1]]
- list2=[2, 5, 8]
- list3=[10,9,8]
- '''
-
- count=0
- for i in range(m):
- maxs,flags=finds(list3)
- count+=maxs
- list3[flags]=list3[flags]-list1[flags][1]
- if list3[flags]<=0:
- list3[flags]=0
- #print(count,flags,list3)
- print(count)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。