L2-015 互评成绩

2023-11-10 21:36
文章标签 l2 成绩 互评 015

本文主要是介绍L2-015 互评成绩,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

学生互评作业的简单规则是这样定的:每个人的作业会被k个同学评审,得到k个成绩。系统需要去掉一个最高分和一个最低分,将剩下的分数取平均,就得到这个学生的最后成绩。本题就要求你编写这个互评系统的算分模块。

输入格式:

输入第一行给出3个正整数N(3 < N ≤104,学生总数)、k(3 ≤ k ≤ 10,每份作业的评审数)、M(≤ 20,需要输出的学生数)。随后N行,每行给出一份作业得到的k个评审成绩(在区间[0, 100]内),其间以空格分隔。

输出格式:

按非递减顺序输出最后得分最高的M个成绩,保留小数点后3位。分数间有1个空格,行首尾不得有多余空格。

输入样例:

6 5 3
88 90 85 99 60
67 60 80 76 70
90 93 96 99 99
78 65 77 70 72
88 88 88 88 88
55 55 55 55 55

输出样例:

87.667 88.000 96.000

代码长度限制

16 KB

时间限制

300 ms

内存限制

64 MB

#include<iostream>
#include<queue>
#include<algorithm>
#include<iomanip>using namespace std;
inline int min(int a, int b){return a<b?a:b;}
struct Record{double average;int score[10];
};//重写优先队列的小于号
bool operator<(const Record& p1, const Record& p2){if(p1.average-p2.average<=1e-6) //当两个浮点数相差小于1e-6则认为两个浮点数相等return true;elsereturn false;
}//创建优先队列
priority_queue<Record> st;
//创建数组
vector<double> ls;
int N, k, M; //N为学生总数,k为每份作业的评审数,M为需要输出的学生数
int main(int argc, char* argv[]){cin >> N >> k >> M;Record tmp;for(int i = 0; i < N; i++){tmp.average = 0.0; //重置平均分for(int j = 0; j < k; j++){cin >> tmp.score[j]; //输入成绩}sort(tmp.score,tmp.score+k);//对Record的score进行排序for(int s = 1; s < k-1; s++){ //去掉最高分和最低分tmp.average+=tmp.score[s];}tmp.average /= (k-2); //算平均值st.push(tmp); //将当前Record放入优先队列}//得到得分最高的三个学生for(int j = 0; j < M; j++){tmp = st.top();st.pop();ls.push_back(tmp.average);}cout << fixed << setprecision(3) << ls[M-1];for(int x = M-2; x >= 0; x--){cout << " " << fixed << setprecision(3) << ls[x];}return 0;
}

 

这篇关于L2-015 互评成绩的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/385408

相关文章

Python-获取excel数据 - 成绩统计

Pandas库基础操作 pandas库是Python中非常受欢迎的数据分析库,提供了快速、灵活和富有表现力的数据结构,便于轻松地进行数据清洗和分析。因为它不是标准库,使用前确保环境已经安装了Pandas库。 pip install pandas 接下来,通过一个简单的例子来了解pandas的基本用法。假设有一个包含员工信息的电子表格文件名为“员工表.csv”,文本内容如下。 名字,年龄,

【机器学习 sklearn】模型正则化L1-Lasso,L2-Ridge

#coding:utf-8from __future__ import divisionimport sysreload(sys)sys.setdefaultencoding('utf-8')import timestart_time = time.time()import pandas as pd# 输入训练样本的特征以及目标值,分别存储在变量X_train与y_train之中。

一分钟搞定月考成绩群发给家长!

Hey亲们,月考又来啦!老师们又在头疼怎么快速又准确地把成绩发给每位家长吗?别担心,我来给你们安利一个超好用的工具——易查分小程序! 老师们只需要三步,就能轻松搞定成绩发布: 1.登录易查分主页,点击“新建查询”。 2.上传包含学生信息的电子表格,比如姓名、学号等。 3.设置查询条件,比如通过学号和姓名查询,然后点击发布。 噔噔噔噔~一个专属的查询二维码就生成啦!把这

月考成绩查询哪个软件更好用?

老师,这个职业总是伴随着无尽的忙碌,是时候该为我们这些辛勤的园丁减轻一些负担了,科技的便利性为我们提供了许多解决方案。易查分小程序就是一个很好的例子,能够帮助老师们在成绩管理上实现高效与便捷。 开学的第一个月,月考成绩的发布无疑是老师们的一项重要任务。用易查分,老师们可以轻松发布考试成绩。这个平台的设计非常人性化,操作简单,只需几步设置,成绩就能安全、准确地发布给每一位学生。家长和学生也

【Python机器学习】核心数、进程、线程、超线程、L1、L2、L3级缓存

如何知道自己电脑的CPU是几核的,打开任务管理器(同时按下:Esc键、SHIFT键、CTRL键) 然后,点击任务管理器左上角的性能选项,观察右下角中的内核:后面的数字,就是你CPU的核心数,下图中我的是16个核心的。 需要注意的是,下面的逻辑处理器:32 表示支持 32 线程(即超线程技术) 图中的进程:和线程:后面的数字代表什么 在你上传的图片中,“进程:180” 和 “线程:3251”

ASTER L2 表面反射率 SWIR 和 ASTER L2 表面反射率 VNIR V003

ASTER L2 Surface Reflectance SWIR and ASTER L2 Surface Reflectance VNIR V003 ASTER L2 表面反射率 SWIR 和 ASTER L2 表面反射率 VNIR V003 简介 ASTER 表面反射率 VNIR 和 SWIR (AST_07) 数据产品 (https://lpdaac.usgs.gov/documen

基于python学生信息成绩的管理系统设计与实现,很详细!

需求分析 1.1数据操纵 (1)录入并保存学生的基本信息及选课信息(如学号、姓名、性别、专业、课程名称、课程成绩); (2)可以对已经保存的学生基本信息及选课信息进行修改; (3)可以根据特定字段的值查询学生的相关信息(如通过学号查询所选的课程)和课程的相关信息(如选修某课程的所有学生); (4)可以对特定的数据条目进行删除。 1.2数据统计 学生信息统计:根据学号对学生成绩统计(如

用基于信息熵的topsis方法实现学生成绩的综合排名

TOPSIS方法排序的基本思路是首先定义决策问题的正理想解(即最好的)和负理想解(即最坏的),然后把实际可行解(样本)和正理想解与负理想解作比较。通过计算实际可行解与正理想解和负理想解的加权欧氏距离,得出实际可行解与正理想解的接近程度,以此作为排序的依据。若某个可行解(样本)最靠近理想解,同时又最远离负理想解,则此解排序最靠前。 通常,当排序时有多个指标需要考虑时,常用“专家打分法”来确定各个指

NASA:ASTER L2 表面辐射率(E(辐射率)和 T(地表温度)) V003数据集

ASTER L2 Surface Emissivity V003 ASTER L2 表面辐射率 V003 简介 ASTER L2 地表发射率是一种按需生成的产品((https://lpdaac.usgs.gov/documents/996/ASTER_Earthdata_Search_Order_Instructions.pdf)),利用 8 至 12 µm 光谱范围内的五个热红外(TIR)

老师怎样用微信发布月考成绩?

每当月考结束,老师们就开始了一项繁琐的任务——将成绩单一一私信给每位学生的家长。这不仅耗时耗力,还容易出错。家长们焦急等待,老师们则在电脑前忙碌着,一张张成绩单,一条条信息,重复的工作让人疲惫不堪。 有了易查分小程序,这一切都变得简单起来。易查分是一个专为老师设计的微信小程序,它可以帮助老师轻松发布学生成绩,家长和学生只需扫描老师发布的二维码,即可查询到自己的成绩信息,既方便又安