60分求助,给2,6,8,9的样例点也行,球球了
查看原帖
60分求助,给2,6,8,9的样例点也行,球球了
624945
heeeeee楼主2023/3/15 22:15
zhiwei=['HuFa','ZhangLao','TangZhu','JingYing','BangZhong']
zhiweicnt=[2,4,7,25,float('inf')]
n=int(input())
anslist=[]
zayu=[]
for i in range(n):
    l=list(input().split())
    #先给没法动的排位置
    if l[1]=='BangZhu' or l[1]=='FuBangZhu':
        print(l[0],l[1],l[3])
    else:
        #因为原来已经按职位和等级排序拍好
        #所以先进来的等级大
        zayu.append(l)
#print(zayu)
zayu.sort(key=lambda x:(int(x[2])) ,reverse=True)#注意字符串中‘400’是大于‘30000’的
#print(zayu)
ind=0
list1=[[] for i in range(5)]
# print(zhiweicnt)
for i in range(len(zayu)):
    while zhiweicnt[ind]<=0:
        ind+=1
    zhiweicnt[ind]-=1
    list1[ind].append([zayu[i][0],zhiwei[ind],zayu[i][3]])#将职位按列表划分
# print(zayu)
#print(list1)
for i in range(len(list1)):
    list1[i].sort(key=lambda x:int(x[2]),reverse=True)#职位内部按等级排
    for j in range(len(list1[i])):
        print(*list1[i][j])
# print(len(anslist))
# for i in range(n-3):
#     print(*anslist[i])
2023/3/15 22:15
加载中...