2022蓝桥杯省赛pythonB组

记录第一次参加蓝桥杯的过程吧,希望能拿个省三

目录

一、字符串排序

二、寻找整数

三.纸张尺寸

 四.数位排序

五.蜂巢

六. 消除游戏

七. 全排列的价值

 八.技能升级 

九.最长不下降子序列

十.最优清零方案


一、字符串排序

2022蓝桥杯省赛pythonB组_第1张图片

这不有手就行吗?

a=input()
b=[]
for i in a:
    b.append(i)
b.sort()
print("".join(str(s)for s in b)

 

二、寻找整数

2022蓝桥杯省赛pythonB组_第2张图片

 这个题可能当时太紧张了,直接开暴力也开不出来,也就放到那里没做。

三.纸张尺寸

2022蓝桥杯省赛pythonB组_第3张图片

这个题我感觉我自己写的太繁琐了,但是黑猫白猫,捉到老鼠就是好猫,能对就行。

a=input()
if a=="A0":
    print(1189)
    print(841)
if a=="A1":
    print(841)
    print(1189//2)
if a=="A2":
    print(1189//2)
    print(841//2)
if a=="A3":
    print(841//2)
    print(1189//2//2)
if a=="A4":
    print(1189//2//2)
    print(841//2//2)
if a=="A5":
    print(841//2//2)
    print(1189//2//2//2)
if a=="A6":
    print(1189//2//2//2)
    print(841//2//2//2)
if a=="A7":
    print(841//2//2//2)
    print(1189//2//2//2//2)
if a=="A8":
    print(1189//2//2//2//2)
    print(841//2//2//2//2)
if a=="A9":
    print(841//2//2//2//2)
    print(841//2//2//2//2//2)

 四.数位排序

2022蓝桥杯省赛pythonB组_第4张图片

 这个题也就是浅浅的定义一下排序方法的事情了

def f(x):
    t=0
    for i in str(x):
        t+=int(i)
    return t,x
n=int(input())
m=int(input())
a=[int(s) for s in range(1,n+1)]
a.sort(key=f)
print(a[m-1])

五.蜂巢

2022蓝桥杯省赛pythonB组_第5张图片

这个题咱就是一整个被吓到的大动作,不会!!!

六. 消除游戏

2022蓝桥杯省赛pythonB组_第6张图片

 这个我这样写应该算暴力吧

a=input()
b=[0]*len(a)
n=[]
for i in a:
    n.append(i)
if n[-1]=="\r":
    n=n[:-1]
flag=1
while flag==1:
    t=[]
    for i in range(len(n)):
        if b[i]==1:
            continue
        else:
            t.append(n[i])
    flag=0
    n=t[::]
    b=[0]*len(n)
    for i in range(1,len(n)-1):
        if n[i]==n[i-1] and n[i]!=n[i+1]:
            b[i]=1
            b[i+1]=1
            flag=1
        if n[i]==n[i+1] and n[i]!=n[i-1]:
            b[i]=1
            b[i-1]=1
            flag=1
if len(n)==0:
    print("EMPTY")
else:
    print("".join(str(s) for s in n))

七. 全排列的价值

2022蓝桥杯省赛pythonB组_第7张图片

不管了,暴力乱杀

 

import itertools
a=int(input())
b=[int(s) for s in range(1,a+1)]
ans=0
for i in itertools.permutations(b):
    #print(ans)
    #print(i)
    for k in range(1,a):
        for j in range(0,k):
            if i[j]

 八.技能升级 

2022蓝桥杯省赛pythonB组_第8张图片

目测是贪心,不会....

九.最长不下降子序列

2022蓝桥杯省赛pythonB组_第9张图片 

md,dp稍微改动一下,可是我dp还没学呢5555

十.最优清零方案

2022蓝桥杯省赛pythonB组_第10张图片 

曾经有一份非常相近的题出现在我的电脑里,我没有珍惜,直到失去才追悔莫及,md,不会。 

球球了,拿个省三吧...

你可能感兴趣的:(python,蓝桥杯,python)