欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

成绩排名

程序员文章站 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

相关标签: 2020暑假题目ACM