#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<string.h>
#include<string>
#include<cstring>
#include<algorithm>
using namespace std;
int T,n,m;
struct node
{
string name;
string sex;
int score1,score2;
double sum;
} p[105];
bool cmp(node x,node y)
{
return x.score1<y.score1;
}
bool cmp1(node x1,node y1)
{
return x1.score2<y1.score2;
}
bool cmp2(node x2,node y2)
{
return x2.sum>y2.sum;
}
void solve()
{
int flag=0,i=0,tag=0;
cout<<"The member list of Shandong team is as follows:"<<endl;
for(i=1; i<=m; i++)
{
if(p[i].sex=="female") flag=1;
}
if(flag)
{
for(i=1; i<=m; i++)
cout<<p[i].name<<endl;
return;
}
else
{
for(i=m+1; i<=n; i++)
{
if(p[i].sex=="female")
{
tag=i;
break;
}
}
if(tag)
{
for(i=1; i<=m-1; i++)
{
cout<<p[i].name<<endl;
}
cout<<p[tag].name<<endl;
return;
}
}
for(i=1; i<=m; i++)
cout<<p[i].name<<endl;
}
int main()
{
scanf("%d",&T);
int i=0;
while(T--)
{
scanf("%d%d",&n,&m);
for(i=1; i<=n; i++) p[i].sum=0;
for(i=1; i<=n; i++)
{
cin>>p[i].name>>p[i].sex>>p[i].score1>>p[i].score2;
}
sort(p+1,p+1+n,cmp);
for(i=1; i<=n; i++)
{
p[i].sum+=p[i].score1*(300.0/p[n].score1)*0.3;
}
sort(p+1,p+1+n,cmp1);
for(i=1; i<=n; i++)
{
p[i].sum+=p[i].score2*(300.0/p[n].score2)*0.7;
}
sort(p+1,p+1+n,cmp2);
solve();
}
return 0;
}
bc+一道模拟题
最新推荐文章于 2023-02-05 23:23:22 发布