似乎很简单,但我的脑子被大白撅力,想不出来
题目描述
经过一天精彩的选拔节目后,科丁小学举办了国庆晚会,遗憾的是,小科的精彩节目落选了,不过校长给小科安排了晚会主持人的工作。另外校长得知小科的哥哥大科是计算机系的高材生,于是邀请大科作为技术指导,用编程制造一个实时排名系统,给每个节目评分。系统的功能是这样的:每当一个节目表演完成后,系统需要根据评委的打分实时的计算出这个节目的得分,并实时的告知该节目目前的排名,得分越高,排名就越靠前,还需要输出实际上比当前这个节目分数高的节目有几个。已知这个晚会一共有m个节目,每个节目的负责人会通过抽签决定由k个评委中的n个评委来打分,这个节目的最后得分就是这n个评委打分的平均分四舍五入取整的结果。如果你是大科,请问你会如何写出这样的一个系统呢?
输入格式
输入文件名:show.in
一共m+1行;
第1行,两个正整数m,k;(2<=m<100;2<=k<=100)。
第2到m+1行,每行有若干个数,先是一个整数n,接下来是n个实数a,代表n个评委依次给当前节目的打分;(2<=n<=k,0<a<=300)
输出格式
输出文件名:show.out
输出m行,每个节目输出一行,对于每个节目:
每一行输出4个部分,依次是输出当前节目的编号h、最终得分s、当前的总排名r、目前实际上比当前这个节目分数高的节目有t个;输出格式参考输出样例;(h、s、r、t都是整数)
注意,如果有多个节目成绩相同则他们的排名也是并列相同的。例如目前有三种分数,成绩分别是290 290 285,那么得分290的节目是并列第一,得分285的节目是排名第二,目前实际上比285分数高的节目有2个;
输入输出样列
输入样例1:
1 10
2 300 290
输出样例1:
Contestant:1-score:295-Ranking:1 0
输入样例2:
3 10
2 300 290
3 100 110 92
4 200 230 190 200
输出样例2:
Contestant:1-score:295-Ranking:1 0
Contestant:2-score:101-Ranking:2 1
Contestant:3-score:205-Ranking:2 1
说明
【样例说明】
输入输出样例 1 说明:
输入第一行:一个m为1代表当前有一个节目,k为10,代表一共有10个评委;
输入第二行的2代表选中2个评委进行打分;后面300 290是这2个评委依次给当前节目的分数,
输出当前是第一位节目,他的最终成绩是295,这个295是刚刚选中的两位评委分数的和进行四舍五入之后的结果;目前排名是第一;目前只有1个节目,比当前节目高的总人数为0;
输入输出样例 2 说明
输入第一行:m为3代表当前有3个节目,k为10,代表一共有10个评委;
输入第二行的2代表选中2个评委进行打分;后面300 290是这2个评委依次给当前第一个节目的分数;
输入第三行的3代表选中3个评委进行打分;后面100 110 92是这3个评委依次给当前第二个节目的分数;
输入第四行的4代表选中4个评委进行打分;后面200 230 190 200是选择的4个评委依次给当前第三个节目的分数;
输出第一行:当前是第1位节目,他的最终成绩s是295,这个295是刚刚选中的两位评委分数的和进行四舍五入之后的结果;目前排名r是第一;目前只有1个节目,比当前节目高的总人数为0,所以t为0;
输出第二行:当前是第2位节目,他的最终成绩s是101,这个101是刚刚选中的3位评委分数的和进行四舍五入之后的结果;目前排名r是第二;目前只有1个节目比当前第二个节目的分数高,所以t为1;
输出第三行:当前是第3位节目,他的最终成绩是s205,这个205是刚刚选中的4位评委分数的和进行四舍五入之后的结果;目前排名r是第二;目前只有1个节目比当前第三个节目的分数高,所以t为1;
【数据规模与约定】
对于100%数据满足2<=m<100;2<=k<=100,2<=n<=k,0<a<=300