题解 | 分数线划定

分数线划定

https://www.nowcoder.com/practice/2395fa7b6c6e452e8d8310a7cfdbe902

# 难点:如何对字典按照value进行排序

# 用字典存储报名号与成绩

n, m = map(int, input().split()) # 输入两个整数n,m
t = int(m * 1.5)
dic = {} # 定义一个空字典,用来存储报名号与成绩

# 1. 按行输入报名号k与笔试成绩s,报名人数是n,即遍历n行
for i in range(n):
    k, s = map(int, input().split())
    dic[k] = s 
# 2.对字典进行排序,按照成绩降序排列,---排序后是一个列表,列表里边嵌套元组
result = sorted(dic.items(), key=lambda x:(-1*x[1],x[0]))
# 3.计算面试分数线
line = result[t-1][1] 
# 4.计算进面人数
cnt = 0
result1 = []
for key, value in result:
    if value >= line:
        result1.append([key,value])
        cnt += 1
print("{} {}".format(line, cnt))

for no,value in result1:
    print("{} {}".format(no, value))


全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务