360 24号,两题100,AC代码
第一题基本暴力解,注意不是所有的字母都是对称的就可以
第二题注意首先没有宝物的关卡先过完,然后注意有宝物的关卡使用宝物的时机是,该关卡的分数大于之前所有关卡的分数的和
代码如下:
# 第一题
sameLetters = ['A', 'H', 'I', 'M', 'O', 'T', 'U', 'V', 'W', 'X', 'Y']
while True:
_str = input()
if len(_str)<=0:
break
half = len(_str) // 2 +1
lenght = len(_str)
#print(half, lenght)
isYes = True
for i in range(half):
if not (_str[i] == _str[lenght - i-1] and _str[i] in sameLetters):
isYes = False
break
if isYes:
print("YES")
else:
print("NO") #第二题 import numpy as np k = int(input()) scores = 0 listb0 = [] listb1 = [] for i in range(k): a, b = map(int, input().split()) if b == 0: listb0.append(a) else: listb1.append(a) npb0 = np.array(sorted(listb0, reverse=True)) npb1 = np.array(sorted(listb1, reverse=True)) score0 = sum(npb0) indexnpb1 = 0 for i in range(len(npb1)): if score0 < npb1[i]: score0 += npb1[i] else: indexnpb1 = i break #print(score0) #print(len(npb1[indexnpb1: ])) score1 = 2**(len(npb1[indexnpb1:])) scores = score0 * score1 print(scores)


