【华为OD机试】选修课(C++ Python Java)2023 B卷

题目描述

现有两门选修课,每门选修课都有一部分学生选修,每个学生都有选修课的成绩,

需要你找出同时选修了两门选修课的学生,先按照班级进行划分,班级编号小的先输出,

每个班级按照两门选修课成绩和的降序排序,成绩相同时按照学生的学号升序排序。

输入

第一行为第一门选修课学生的成绩,第二行为第二门选修课学生的成绩,

每行数据中学生之间以英文分号分隔,每个学生的学号和成绩以英文逗号分隔,

学生学号的格式为 8 位数字

(2 位院系编号+入学年份后 2 位+院系内部 1 位专业编号+所在班级 3 位学号),

学生成绩的取值范围为 [0,100] 之间的整数,

两门选修课选修学生数的取值范围为 [1-2000] 之间的整数。

输出

同时选修了两门选修课的学生的学号,如果没有同时选修两门选修课的学生输出 NULL,

否则,先按照班级划分,班级编号小的先输出,每个班级先输出班级编号(学号前五位),

然后另起一行输出这个班级同时选修两门选修课的学生学号,

学号按照要求排序(按照两门选修课成绩和的降序,成绩和相同时按照学号升序),

学生之间以英文分号分隔。

示例一

输入

01202021,75;01201033,95;01202008,80;01203006,90;01203088,100

01202008,70;01203088,85;01202111,80;01202021,75;01201100,88

输出

你可能感兴趣的:(华为od机试2023B卷,算法,python,华为od,c++)