调了半天了,交上才得了50分
不知道WA在哪里
求大佬调
关键还赶着上化学
#include<bits/stdc++.h>
using namespace std;
struct hum{
string name;
string zw;
long long bg;
int lev,xh;
}a[110];
bool cmp(hum x,hum y)
{
if(x.bg>y.bg)
{
return 1;
}
else
{
if(x.bg==y.bg)
{
if(x.xh<y.xh)
{
return 1;
}
else
{
return 0;
}
}
else
{
return 0;
}
}
}
bool cmp1(hum x,hum y)
{
return x.lev>y.lev;
}
int main()
{
int n;
cin>>n;
int use3=1;
for (int i=0;i<n;i++)
{
cin>>a[i].name>>a[i].zw>>a[i].bg>>a[i].lev;
a[i].xh=i+1;
if (a[i].zw=="BangZhu")//若a[i]为帮主,则交换a[0]、a[i]
{
string use1;
int use2;
use1=a[0].name;
a[0].name=a[i].name;
a[i].name=use1;
a[i].zw=a[0].zw;
a[0].zw="BangZhu";
use2=a[0].lev;
a[0].lev=a[i].lev;
a[i].lev=use2;
a[i].xh=1;
a[i].bg=a[0].bg;
}
if(a[i].zw=="FuBangZhu")//若a[i]为副帮主,则交换a[1]或a[2]、a[i]
{
string use1;
int use2;
use1=a[use3].name;
a[use3].name=a[i].name;
a[i].name=use1;
a[i].zw=a[use3].zw;
a[use3].zw="FuBangZhu";
use2=a[use3].lev;
a[use3].lev=a[i].lev;
a[i].lev=use2;
a[i].xh=1;
a[i].bg=a[use3].bg;
use3++;
}
}
int num=3;
sort(a+3,a+n,cmp);//排序
for (int i=0;i<3;i++)//分封
{
cout<<a[i].name<<" "<<a[i].zw<<" "<<a[i].lev<<endl;
}
sort(a+3,a+5,cmp1);
for (int i=3;i<5&&i<n;i++)
{
cout<<a[i].name<<" "<<"HuFa"<<" "<<a[i].lev<<endl;
num++;
}
if(num>=n)
{
return 0;
}
sort(a+5,a+9,cmp1);
for (int i=5;i<9&&i<n;i++)
{
cout<<a[i].name<<" "<<"ZhangLao"<<" "<<a[i].lev<<endl;
num++;
}
if(num>=n)
{
return 0;
}
sort(a+9,a+16,cmp1);
for (int i=9;i<16&&i<n;i++)
{
cout<<a[i].name<<" "<<"TangZhu"<<" "<<a[i].lev<<endl;
num++;
}
if(num>=n)
{
return 0;
}
sort(a+16,a+41,cmp1);
for (int i=16;i<41&&i<n;i++)
{
cout<<a[i].name<<" "<<"JingYing"<<" "<<a[i].lev<<endl;
num++;
}
if(num>=n)
{
return 0;
}
sort(a+41,a+n,cmp1);
for (int i=41;i<n;i++)
{
cout<<a[i].name<<" "<<"BangZhong"<<" "<<a[i].lev<<endl;
num++;
}
}