期末考试之后,老师们都要在成绩单中获取一些有用的信息,但是数据量太大,人工统计总会耗费一些时间,编写一个程序来统计将会是一个较好的选择。现在,请你编写一个程序,要求能满足下述内容。
一份成绩单中包含 N 条信息,每条信息包含 学号,高等数学成绩,程序设计基础成绩,线性代数成绩
现有如下需求:
1. 查询某一位同学的成绩单
2. 查询某门课的平均成绩
3. 全体同学总成绩按降序排列的成绩单
输入输出具体格式及相关要求请看input和output
输入为单组输入
第一行输入成绩单总数据行数N(1 <= N <= 10000)
之后 N 行输入 N 条信息
每条信息包含4个数据项,数据项依次表示:学号,高等数学成绩,程序设计基础成绩,线性代数成绩
学号为5位数字,即在[00000,99999]的范围内
课程成绩均为[0,100]的数字
之后为一个数字Q(1<=Q<=100) 表示有Q条询问
随后为Q条询问,询问格式如下:
1. 1 x表示上述的第一个需求,即学号为x的同学的成绩单
2. 2 y表示上述的第二个需求,即y课的平均成绩(其中高等数学的y为1,程序设计基础为2,线性代数为3)
输入保证学号唯一
首先对于上述每一条询问,输出相关内容。
对于询问1:第一行先输出“Query #c: 1 x” 表示第c个询问是查询学号为x的同学的成绩单
之后一行以如下格式输出该同学成绩[总成绩 高等数学成绩 程序设计基础成绩 线性代数成绩]。
对与询问2:第一行先输出“Query #c: 2 y” 表示第c个询问是查询y课的平均成绩
之后一行输出y课的平均成绩,输出四舍五入保留两位小数
在Q个询问之后,完成需求3,即输出全体同学总成绩按降序排列的成绩单,每一行输出一个同学的成绩,成绩格式为[学号 总成绩 高等数学成绩 程序设计基础成绩 线性代数成绩](学号为5位数字)。
若总成绩相同,按高等数学成绩从大到小排列,若高等数学还相同, 按照程序设计基础成绩从大到小排列,若程序设计基础成绩也相同,按线性代数成绩从大到小排列,若线性代数成绩也相同,按学号从小到大排序。
因为是初级,无需考虑效率问题。太过暴力可能会TLE。
学号前面的0也是要输出的。