成绩排名
程序员文章站
2022-03-10 19:47:02
描述已有a、b两个链表,每个链表中的结点包括学好、成绩。要求把两个链表合并,按学号升序排列。输入第一行,a、b两个链表元素的数量N、M,用空格隔开。 接下来N行是a的数据 然后M行是b的数据 每行数据由学号和成绩两部分组成输出按照学号升序排列的数据输入样例 12 35 1006 893 824 952 10输出样例 12 103 824 955 1006 89Pythonimport operatorclass Student: def __init...
描述
已有a、b两个链表,每个链表中的结点包括学好、成绩。要求把两个链表合并,按学号升序排列。
输入
第一行,a、b两个链表元素的数量N、M,用空格隔开。 接下来N行是a的数据 然后M行是b的数据 每行数据由学号和成绩两部分组成
输出
按照学号升序排列的数据
输入样例 1
2 3
5 100
6 89
3 82
4 95
2 10
输出样例 1
2 10
3 82
4 95
5 100
6 89
Python
import operator
class Student:
def __init__(self, pid, score):
self.pid = pid
self.score = score
Nodes = []
a, b = map(int, input().split())
for i in range(a + b):
pid, score = map(int, input().split())
student = Student(pid, score)
Nodes.append(student)
cmp = operator.attrgetter('pid', 'score')
Nodes.sort(key=cmp)
for student in Nodes:
print(student.pid, student.score)
本文地址:https://blog.csdn.net/qq_45202835/article/details/107654104