当前位置:网站首页>L2-015 互评成绩 (25 分)
L2-015 互评成绩 (25 分)
2022-08-08 16:50:00 【Here_SDUT】
学生互评作业的简单规则是这样定的:每个人的作业会被k
个同学评审,得到k个成绩。系统需要去掉一个最高分和一个最低分,将剩下的分数取平均,就得到这个学生的最后成绩。本题就要求你编写这个互评系统的算分模块。
输入格式: 输入第一行给出3个正整数N(3 < N ≤10^4k(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
代码
#include <bits/stdc++.h>
#define LL long long
using namespace std;
const int maxn = 1e5 + 10;
const int inf = 0x3f3f3f3f;
const double PI = acos(-1.0);
typedef pair<int, int> PII;
double ans[maxn];
int main(int argc, char const *argv[]) {
int n, m, k;
cin >> n >> k >> m;
for (int i = 0; i < n; i++) {
int sum = 0, mmax = -1, mmin = 111;
for (int j = 0; j < k; j++) {
int x;
cin >> x;
sum += x;
mmax = max(mmax, x);
mmin = min(mmin, x);
}
ans[i] = (sum - mmax - mmin) * 1.0 / (k - 2);
}
sort(ans, ans + n);
for (int i = n - m ; i < n; i++) {
printf("%.3lf%c", ans[i], i == n-1 ? '\n' : ' ');
}
return 0;
}
边栏推荐
猜你喜欢
随机推荐
Subject: Ordered Queue
Understanding of redis slice cluster
leetcode:295. 数据流的中位数
毕设-基于SSM学生考试系统
R语言4.04安装教程
leetcode 155. Min Stack最小栈(中等)
H. Huge Boxes of Animal Toys
数字图像处理(六)—— 图像压缩
The difference between B+ tree and B- tree
徽商期货正规可靠吗?在徽商期货开户是否安全?
10 Top Open Source Caching Tools for Linux in 2020
永续合约交易所系统开发逻辑详情
leetcode:306. 累加数
[In-depth study of 4G/5G/6G topic-54]: L3 signaling control-3-segmentation of software functions and processes-signaling of CU-UP network elements
七、jmeter发出请求的逻辑
【 8.7 】 source code - card to LCM with GCD 】 【 】
ggplot2可视化水平箱图并使用fct_reorder排序数据、使用na.rm处理缺失值(reorder boxplot with fct_reorder)、按照箱图的中位数从大到小排序水平箱图
ERROR Failed to compile with 1 error
[深入研究4G/5G/6G专题-54]: L3信令控制-3-软件功能与流程的切分-CU-UP网元的信令
LeetCode_二叉树_中等_515.在每个树行中找最大值