目录
题目
题解:暴力
- 思路:枚举每一个Ai,并一直减去Bi,直到小于零为止,即为该技能所能增加的点数的集合。将每一个选择存进res中,并排序选择前M大的技能点即可 。
#首先,a-b加入列表,循环a/b次;其次,对列表排序,取前M个数进行求和
a,b=map(int,input().split())
#读入成二维数组
m=[]
res=[]
for i in range(a):
row=list(map(int,input(),split()))
res.append(row[0])
m.append(row)
for i in range(a):
for j in raneg(m[i][0]//m[i][1]):
res.append(m[i][0]-m[i][1])
m[i][0]=m[i][0]-m[i][1]
#排序
m=m.sort(reverse=True)
s=0
for i in range(b):
s+=res[i]
print(res)
题解:优化
n, m = map(int, input().split())#读入n,m表示n行,升级次数m
res = []#列表
for _ in range(n):#循环每一行
a, b = map(int, input().split())#读入每一行的两个数
while a > 0:#当攻击力是大于0时
res.append(a)#把当前的攻击力加入列表
a -= b#更新攻击力,下一次加攻击力时要在a的基础上减去b
res.sort(reverse=True)#对列表按降序排序
ans = sum(res[:m])#对列表的前m个数求和
print(ans)
标签:map,真题,res,列表,蓝桥,range,2022,题解,append
From: https://www.cnblogs.com/lushuang55/p/18047750