Problem F: 合唱比赛开始了!
Problem F: 合唱比赛开始了!
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 440 Solved: 201
[Submit][Status][Web Board]
Description
为迎接计算机科技文化节的到来,我院面向一年级学生举办了一场合唱比赛。邀请了若干位专家担任评委,并为每个参赛队评分。现在,请设计一个程序来展示这个比赛过程。
其中,类 Team描述了参赛队的信息,包括:专业名称、每个专家给该参赛队的评分以及最终得分等。类Contest描述了竞赛的信息,包括各个参赛队的列表,并提供
1. void Input()方法:用于输入所有参赛队的信息;
2. void Compute()方法:计算每个代表带队的最终得分。
3. void Show()方法:显示所有代表队的信息。
4. void Sort()方法:根据代表队的最终得分进行排序。
要求:
1. 假设有M个代表队参加比赛,有N个评委进行评分,且评分标准包括P项。
2. 每个评委将为每个代表队打出P个分项分,每项得分都在0~100之间,一个评委为一个代表队评出的最终分数是所给出的所有分项分的平均分。如:P=3,评委1给代表队x打的3个分数为100,90,80,则x代表队得到的来自于评委1的分数为(100+90+80)/3=90。
3. 每个代表队得到的最终分数是N个评委的给出的N个分数值,去掉1个最高分,1个最低分,剩余分数的平均值。如:经过上一步的计算,x代表队得到的来自N=4个评委的得分分别是100,90,80,70,则x代表队的最终得分是(90+80)/2=85。
Input
输入有多行。第一行分别输入M>1,N>3,P>0表示代表队数量、评委人数以及评分标准数。
之后分别输入M个代表的信息。每个代表队信息的第一行是队伍的专业名(10个字母以内),之后的N行是N个评委为该代表队打的分数,其每行有P个数,分别是该评委为该代表队打出的各个分项分。
Output
输出有M行,根据每个代表队的得分,按照从大到小的顺序输出。其中专业名称靠左输出,占11个字符,之后输出成绩。成绩输出2位小数。假定所有队伍的得分都不相同。
Sample Input
MajorA
90 90 90 90 90
82 83 81 82 86
70 70 70 70 70
90 90 90 90 90
MajorAA
85 79 90 78 80
80 80 80 80 80
81 81 83 82 81
80 80 80 80 80
MajorAaa
70 70 70 70 70
70 70 70 70 70
70 70 70 70 70
70 70 70 70 70
Sample Output
MajorAA 80.80
MajorAaa 70.00
HINT
用left来让输出左对齐。
Append Code
#include <iostream>
#include <string>
#include <iomanip>
#include <algorithm>
#include <cmath>
#include <cstring>
using namespace std;
double sum[30];
class Team
{
friend class Contest;
public:
string majority;
double score;
double endrank;
};
bool cmp(Team a,Team b)
{
return a.endrank>b.endrank;
}
class Contest:public Team
{friend class Team;
public:
Team s[100];
int m;
void Input()
{
int n,p;
cin>>m>>n>>p;
for(int i=0;i<m;i++)
{
fill(sum,sum+m+1,0);
int t;
cin>>s[i].majority;
for(int j=0;j<n;j++)
{
for(int k=0;k<p;k++)
{
cin>>t;
sum[j]+=t;
}
sum[j]=sum[j]*1.0/p;
}
sort(sum,sum+n);
double add=0;
for(int l=1;l<n-1;l++)
add+=sum[l];
s[i].endrank=add*1.0/(n-2);
}
}
void Compute(){}
void Sort(){}
void Show()
{
sort(s,s+m,cmp);
for(int i=0;i<m;i++)
{
cout<<setiosflags(ios::left)<<setw(11)<<s[i].majority<<fixed<<setprecision(2)<<s[i].endrank<<endl;
}
}
};
int main()
{
Contest contest;
contest.Input();
contest.Compute();
contest.Sort();
contest.Show();
return 0;
}
Problem F: 合唱比赛开始了!的更多相关文章
- 实验12:Problem F: 求平均年龄
Home Web Board ProblemSet Standing Status Statistics Problem F: 求平均年龄 Problem F: 求平均年龄 Time Limit: ...
- The Ninth Hunan Collegiate Programming Contest (2013) Problem F
Problem F Funny Car Racing There is a funny car racing in a city with n junctions and m directed roa ...
- Codeforces Gym 100500F Problem F. Door Lock 二分
Problem F. Door LockTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100500/at ...
- Codeforces Gym 100002 Problem F "Folding" 区间DP
Problem F "Folding" Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/ ...
- Codeforces Gym 100286F Problem F. Fibonacci System 数位DP
Problem F. Fibonacci SystemTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudg ...
- Problem F: Exponentiation
Problem F: ExponentiationTime Limit: 1 Sec Memory Limit: 128 MBSubmit: 4 Solved: 2[Submit][Status][W ...
- 几何入门合集 gym101968 problem F. Mirror + gym102082 Problem F Fair Chocolate-Cutting + gym101915 problem B. Ali and Wi-Fi
abstract: V const & a 加速 F. Mirror 题意 链接 问题: 有n个人在y=0的平面上(及xoz平面).z=0平面上有一面镜子(边平行于坐标轴).z=a平面上有q个 ...
- Problem F Plug It In!
题目链接:https://cn.vjudge.net/contest/245468#problem/F 大意:给你插座和电器的对应关系,有多个电器对应一个插座的情况,但是一个插座只能供一个电器使用,现 ...
- 2013-2014 ACM-ICPC, NEERC, Southern Subregional Contest Problem F. Judging Time Prediction 优先队列
Problem F. Judging Time Prediction 题目连接: http://www.codeforces.com/gym/100253 Description It is not ...
随机推荐
- javascript中DOM集锦(二)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 在ASP.NET Core中如何支持每个租户数据存储策略的数据库
在ASP.NET Core中如何支持每个租户数据存储策略的数据库 不定时更新翻译系列,此系列更新毫无时间规律,文笔菜翻译菜求各位看官老爷们轻喷,如觉得我翻译有问题请挪步原博客地址 本博文翻译自: ht ...
- SQLServer中SQL语句与可执行二进制语句
SQLServer可以执行正常SQL语句也可以执行被转换的二进制语句,一般会用此方法进行数据库注入操作,骗过基本的字符过滤 --将二进制格式转为普通SQL语句 ) = 0x53454C45435420 ...
- c++ 11 移动语义、std::move 左值、右值、将亡值、纯右值、右值引用
为什么要用移动语义 先看看下面的代码 // rvalue_reference.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #includ ...
- 使用IGP和BGP的配合达到降低路由容量目的的实验与总结
概述 1.先说结论,通过eBGP协议,可以显著降低对非核心路由器的路由容量要求,因为核心路由器的数量明显少于非核心路由器,所以,通过此措施即联通网络,又降低设备要求,非常适宜大型网络. 2.因为网络规 ...
- ovs2.7 在系统重启后,再次使用时提示数据库无法连接的问题。
问题现象如下,ovs开始安装后,对ovs的操作是正常的,但是,现在系统重启后,OVS的操作第一条命令就失败,如下: 问题解决方法: 参考 http://blog.csdn.net/xyq54/art ...
- jquery事件使用方法总结
jquery提供了许多的事件处理函数,学习前端一段时间了,下面对其总结一下,梳理一下知识点. 一.鼠标事件 1. click():鼠标单击事件 $div = $("div") $d ...
- 南天PR2、PR2E驱动下载,xp,win7,win8,win8.1,win10 32位64位驱动下载安装教程
家里开淘宝店,有个针式打印机驱动.电脑各种换系统,为了装这个驱动可是废了不小的劲.不敢独享,所以现在把各种驱动以及安装教程分享出来. 注意: 打印机在开机状态下,电脑在开机状态下,不要插拔连接线!!! ...
- webpack 入门指南
很久没有更博了... 这就把最近积累用到的知识点更新到这里.. 望 共勉 什么是 webpack? webpack是近期最火的一款模块加载器兼打包工具,它能把各种资源,例如JS(含JSX).coffe ...
- escape、encodeURI和encodeURIComponent的区别及使用
编码 javascript中的编码函数有三种 escape(string) encodeURI(string) encodeURIComponent(string) 解码 相应的解码函数也有以下三种 ...