一片残阳铺水中
半江瑟瑟(ac)半江红(wa)
评测记录
#include<bits/stdc++.h>
using namespace std;
const int N=0;
int T,n,m,k;
struct p
{
string name,pos;
int help,level;
int id;
}a[115];
bool cmp(p x,p y)
{
if(x.pos=="BangZhu")return 1;
if(y.pos=="BangZhu")return 0;
if(x.pos=="FuBangZhu"&&y.pos=="FuBangZhu")return x.id<y.id;
if(x.pos=="FuBangzhu")return 1;
if(y.pos=="FuBangZhu")return 0;
if(x.help!=y.help)return x.help>y.help;
return x.id<y.id;
}
bool cmp1(p x,p y)
{
if(x.level!=y.level)return x.level>y.level;
return x.id<y.id;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i].name>>a[i].pos>>a[i].help>>a[i].level;
a[i].id=i;
}
sort(a+1,a+n+1,cmp);
for(int i=4;i<=n;i++)
{
if(i<=5)a[i].pos="HuFa";
else if(i<=9)a[i].pos="ZhangLao";
else if(i<=16)a[i].pos="TangZhu";
else if(i<=41)a[i].pos="JingYing";
else a[i].pos="BangZhong";
}
if(n>=4)sort(a+4,a+min(6,n+1),cmp1);
if(n>=6)sort(a+6,a+min(10,n+1),cmp1);
if(n>=10)sort(a+10,a+min(17,n+1),cmp1);
if(n>=17)sort(a+17,a+min(42,n+1),cmp1);
if(n>=42)sort(a+42,a+n+1,cmp1);
for(int i=1;i<=n;i++)
{
cout<<a[i].name<<' '<<a[i].pos<<' '<<a[i].level<<' '<<endl;
}
return 0;
}