不恋尘世浮华,不写红尘纷扰,不叹世道苍凉,不惹情思哀怨,闲看花开,静待花落,冷暖自知,干净如始。
题目描述
跳水项目起源于游泳运动的发展过程中,它是一项优美的水上运动,它是从高处用各种姿势跃入水中或是从跳水器械上起跳,在空中完成一定动作姿势,并以特定动作入水的运动。
跳板跳水是奥运会跳水比赛中的一个项目,男女分别有六个和五个无难度系数限制的自选动作以及各有五个有难度系数限制的自选动作,其难度系数的总和不得超过9.5。在比赛中,5名裁判员根据运动员对每个动作的完成情况进行评分,裁判员打出分数以后,先删去最高和最低的无效分,余下3名裁判员的分数之和乘以运动员所跳动作的难度系数,便得出该动作的最终得分。现给出了多个运动员在某届奥运会中,某一轮比赛的打分情况,请你帮忙计算出各个运动员本轮比赛的最终得分并按照得分给出运动员们的暂时的排名吧!
输入
输入有多行。第一行是球队数量n(1<n<=10)接下来有n行,每行数据包含运动员的姓名(不含空格,长度不超过30个字符)和5个浮点数,分别表示5个裁判的评分(0<=评分<=10),数据间以空格分开。
输出
输出运动员们按照完成本轮比赛的得分的排名情况(保证所有运动员们的得分各不相同) ,每行输出每个运动员的名次、姓名和该轮比赛的得分(各个运动员的得分保证都不相同,结果保留1位小数),数据间用一个空格分开,每行末尾没有空格。
样例输入
复制样例数据
<span style="color:#333333">3
Qiubo 8.5 7.5 9 8 9.5 3.2
Boudia 8 8.5 9 9.5 8.5 3.0
Linyue 9 9.5 9.6 8 8.5 3.6
</span>
样例输出
<span style="color:#333333">1 Linyue 97.2
2 Qiubo 81.6
3 Boudia 78.0
</span>
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<string>
#include<map>
#include<algorithm>
#include<iomanip>
#include<queue>
#include<set>
#include<stack>
using namespace std;
struct node
{
char mz[20];
double fs[5];
double df;
};
int cmp(struct node x,struct node y)
{
return x.df>y.df;
}
int main()
{
int n,i,j;
struct node p[12];
cin>>n;
for(i=1;i<=n;i++)
{
double sum=0;
scanf("%s",p[i].mz);
for(j=0;j<5;j++){
cin>>p[i].fs[j];
sum+=p[i].fs[j];
}
double nd,ma=p[i].fs[0],mi=p[i].fs[0];
for(j=1;j<5;j++)
{
ma=max(ma,p[i].fs[j]);
mi=min(mi,p[i].fs[j]);
}
cin>>nd;
sum=sum-ma-mi;
p[i].df=sum*nd;
}
sort(p+1,p+n+1,cmp);
for(i=1;i<=n;i++)
printf("%d %s %.1lf\n",i,p[i].mz,p[i].df);
return 0;
}