11.24 吃鸡问题

思路:首先将相同科目放在一起,然后对超过两课时的课长进行排序,没超过的直接把所有课时相加
写题思路:将科目与课长分成两个列表,将相同科目的时间放在一起,然后再进行计算
代码实现:

n=int(input())
l1=[]
l2=[]
c=0
for i in range(n):
    a,b=input().split(" ")
    if a not in l1:
        l1.append(a)
        l2.append([int(b)])
    else:
        l2[l1.index(a)].append(int(b))
for j in range(len(l1)):
    if len(l2[j])>2:
        l2[j].sort()
        c+=l2[j][-1]
        c+=l2[j][-2]
    else:
        c+=sum(l2[j])
print(c)
        

收获:这题两个列表的建立为我提供了新的建立列表的思路,l2.append([int(b)]),添加的列表形式的元素,使l2变成二维列表,使后面l2[l1.index(a)].append(int(b)) 可以实现

`

猜你喜欢

转载自blog.csdn.net/weixin_43763889/article/details/84452343