从26暑假图灵病人排队复制然后改的P0109

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const ll arlecchino=114514;
ll n;
struct yoisaki_kanade
{
    string name;
    ll age,maths,chinese;
    char pe;
}Castorice[arlecchino];
ll PE(char c)
{
    if(c=='A') return 1;
    if(c=='B') return 2;
    if(c=='C') return 3;
    return 4;
}
bool cmpmaths(const yoisaki_kanade a,const yoisaki_kanade b)
{
    if(a.maths!=b.maths) return a.maths<b.maths;
    return a.name<b.name;
}
bool cmpchinese(const yoisaki_kanade a,const yoisaki_kanade b)
{
    if(a.chinese!=b.chinese) return a.chinese<b.chinese;
    return a.name<b.name;
}
bool cmppe(const yoisaki_kanade a,const yoisaki_kanade b)
{
    ll qwq=PE(a.pe);
    ll qwp=PE(b.pe);
    if(qwq!=qwp) return qwq<qwp;
    return a.name<b.name;
}
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>Castorice[i].name>>Castorice[i].age>>Castorice[i].maths>>Castorice[i].chinese>>Castorice[i].pe;
    }
    sort(Castorice+1,Castorice+n+1,cmpmaths);
    for(int i=1;i<=n;i++)
    {
        cout<<Castorice[i].name<<" ";
    }
    cout<<endl;
    sort(Castorice+1,Castorice+n+1,cmpchinese);
    for(int i=1;i<=n;i++)
    {
        cout<<Castorice[i].name<<" ";
    }
    cout<<endl;
    sort(Castorice+1,Castorice+n+1,cmppe);
    for(int i=1;i<=n;i++)
    {
        cout<<Castorice[i].name<<" ";
    }
    cout<<endl;
    return 0;
}
//长变量名救赎所有人(诶我不行了CE了

燃尽了的猫猫……