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

3 4 5
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

MajorA 86.40
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: 合唱比赛开始了!的更多相关文章

  1. 实验12:Problem F: 求平均年龄

    Home Web Board ProblemSet Standing Status Statistics   Problem F: 求平均年龄 Problem F: 求平均年龄 Time Limit: ...

  2. 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 ...

  3. Codeforces Gym 100500F Problem F. Door Lock 二分

    Problem F. Door LockTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100500/at ...

  4. Codeforces Gym 100002 Problem F "Folding" 区间DP

    Problem F "Folding" Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/ ...

  5. 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 ...

  6. Problem F: Exponentiation

    Problem F: ExponentiationTime Limit: 1 Sec Memory Limit: 128 MBSubmit: 4 Solved: 2[Submit][Status][W ...

  7. 几何入门合集 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个 ...

  8. Problem F Plug It In!

    题目链接:https://cn.vjudge.net/contest/245468#problem/F 大意:给你插座和电器的对应关系,有多个电器对应一个插座的情况,但是一个插座只能供一个电器使用,现 ...

  9. 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 ...

随机推荐

  1. Jenkins 在声明式 pipeline 中并行执行任务

    在持续集成的过程中,并行的执行那些没有依赖关系的任务可以缩短整个执行过程.Jenkins 的 pipeline 功能支持我们用代码来配置持续集成的过程.本文将介绍在 Jenkins 中使用声明式 pi ...

  2. Java比较器

    导语 本节内容,比较器Comparable是核心内容. 主要内容 重新认识Arrays类 两种比较器的使用 具体内容 Arrays类 在之前一直使用的"java.util.Arrays.so ...

  3. Centos7搭建swarm集群

    1. 准备 两台虚拟机,IP分别为: 192.168.1.104 192.168.1.105 保证能互相 ping 通 2. 修改虚拟机的 host,分别任 c1.c2 在 192.168.1.105 ...

  4. H264常见术语名称

    一.术语 帧(frame)和场(field):一帧包含一个亮度矩阵采样点和俩个对应的色度矩阵采样点,一帧包含俩个场:顶场和底场: 条带:特定条带组按光栅扫描顺序排列的整数个宏块或宏块对: 条带组:图像 ...

  5. Ubuntu Docker 版本的更新与安装

    突然发现自己的docker 版本特别的低,目前是1.9.1 属于古董级别的了,想更新一下最新版本,这样最新的一下命令就可以被支持.研究了半天都没有更新成功,更新后的版本始终都是1.9.1 :蒙圈了,找 ...

  6. oracle temporary table

    oralce 有两种临时表  a.会话级临时表 b.事物级临时表 A.事物级临时表 语法 create  global temporary table table_name( col1  type1, ...

  7. win7下安装Ubuntu后进不去win7的解决方法

    win7下安装Ubuntu后进不去win7的解决方法 刚刚给同学在win7下安装了Ubuntu16.04,结果在安装完后竟然无法在电脑重启后,找到win7的进入选项. 在网上找了找,都不行!就差点重装 ...

  8. AspxGridView控件的使用

    在网上找到的不错的资料: http://www.lmwlove.com/ai/SubjectID6 以下是自我总结: 要实现的功能:使用AspxGridView显示Scott数据库中emp与dept两 ...

  9. win10 uwp 存放网络图片到本地

    有时候我们的网络很垃圾,我的的UWP要在第一次打开网络图片,就把图片存放到本地,下次可以从本地打开. 有时候用户使用的是流量网络,不能每次都联网下载. 我们不得在应用存放用户打开的图片. 这就是先把图 ...

  10. 记一次vscode升级后,格式化Vue出现的问题

    一.VSCode中使用vetur插件格式化vue文件时,stylus代码会自动加上大括号.冒号和分号 本来就是简写比较方便舒服,结果一个格式化回到十年前 解决方案: vscode  文件 ->首 ...