Code
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,pd;
string b[47]={"BangZhu","FuBangZhu","FuBangZhu","HuFa","HuFa",
"ZhangLao","ZhangLao","ZhangLao","ZhangLao",
"TangZhu","TangZhu","TangZhu","TangZhu","TangZhu","TangZhu","TangZhu",
"JingYing","JingYing","JingYing","JingYing","JingYing","JingYing",
"JingYing","JingYing","JingYing","JingYing","JingYing","JingYing",
"JingYing","JingYing","JingYing","JingYing","JingYing","JingYing",
"JingYing","JingYing","JingYing","JingYing","JingYing","JingYing",
"JingYing","JingYing","JingYing","JingYing","JingYing","JingYing",
"BangZhong"};
ll cs[47]={1,2,2,3,3,4,4,4,4,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7};
struct ty{
string name;
ll zw;
ll bg,dj,bh,km;
}a[115];
bool cmp(ty a1,ty b1){
if(a1.bg==b1.bg){
return a1.bh<b1.bh;
}
return a1.bg>b1.bg;
}
bool cmp1(ty a1,ty b1){
if(a1.km==b1.km){
if(a1.dj==b1.dj){
return a1.bh<b1.bh;
}
return a1.dj>b1.dj;
}
return a1.km<b1.km;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cin>>n;
for(ll i=1;i<=n;i++){
string ls;
cin>>a[i].name>>ls>>a[i].bg>>a[i].dj;
a[i].bh=i;
}
sort(a+4,a+1+n,cmp);
ll cnt=1;
for(ll i=1;i<=n;i++){
a[i].km=cs[cnt-1];
a[i].zw=cnt-1;
cnt++;
if(cnt>41){
cnt=41;
}
}
sort(a+4,a+1+n,cmp1);
for(ll i=1;i<=n;i++){
cout<<a[i].name<<" "<<b[a[i].zw]<<" "<<a[i].dj<<"\n";
}
return 0;
}
30pts
WA #3、#4、#6、#7、#8、#9、#10
求正解