求调
  • 板块P1786 帮贡排序
  • 楼主MvemiY
  • 当前回复2
  • 已保存回复2
  • 发布时间2022/5/28 23:07
  • 上次更新2023/10/28 00:24:39
查看原帖
求调
620253
MvemiY楼主2022/5/28 23:07

50 pts 求调

#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n;
struct Node{
	string mz,zw;
	ll bg,dj,sx,zwn;
}pp[150];
bool cmp1(Node a,Node b){
	if(a.bg!=b.bg)return a.bg>b.bg;
	return a.sx<b.sx;
}
bool cmp2(Node a,Node b){
	if(a.zwn!=b.zwn)return a.zwn>b.zwn;
	if(a.dj!=b.dj)return a.dj>b.dj;
	return a.sx<b.sx;
}
int main(){
	cin>>n;
	for(ll i=1;i<=n;i++)
		cin>>pp[i].mz>>pp[i].zw>>pp[i].bg>>pp[i].dj,pp[i].sx=i;
	sort(pp+4,pp+1+n,cmp1);
	if(pp[2].bg!=pp[3].bg&&pp[2].bg<pp[3].bg)
		swap(pp[2],pp[3]);
	for(ll i=4;i<=n;i++)
		if(i<6)pp[i].zw="HuFa",pp[i].zwn=5;
		else if(i<10)pp[i].zw="ZhangLao",pp[i].zwn=4;
		else if(i<17)pp[i].zw="TangZhu",pp[i].zwn=3;
		else if(i<42)pp[i].zw="JingYing",pp[i].zwn=2;
		else pp[i].zw="BangZhong",pp[i].zwn=1;
	sort(pp+4,pp+1+n,cmp2);
	for(ll i=1;i<=n;i++)
		cout<<pp[i].mz<<' '<<pp[i].zw<<' '<<pp[i].dj<<endl;
	return 0;
} 

样例过了,剩下的WA了

2022/5/28 23:07
加载中...