P1786 40分求助,RE#1,WA#6-10
  • 板块P1786 帮贡排序
  • 楼主guagua
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/8/3 16:17
  • 上次更新2023/11/3 06:08:35
查看原帖
P1786 40分求助,RE#1,WA#6-10
83788
guagua楼主2023/8/3 16:17
#include<bits/stdc++.h>
using namespace std;
struct ren{
	string xm,xw;//姓名,新职位 
	int dj,no,xwn;//等级,输入顺序,新职位(数字) 
	long long bg;//帮贡 
}p[114]; 
bool cmp(ren a,ren b){
	if(a.bg==b.bg)
		return a.no<b.no;
	else
		return a.bg>b.bg;
}
bool cmp2(ren a,ren b){
	if(a.xwn==b.xwn){
		if(a.dj==b.dj)
			return a.no<b.no;
		else
			return a.dj>b.dj;
	}
	else
		return a.xwn>b.xwn;
}
int main(){
	int n;
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>p[i].xm>>p[i].xw>>p[i].bg>>p[i].dj;
		p[i].no=i;
	}
	sort(p+4,p+n,cmp);
	for(int i=3;i<=n;i++){
		if(i<5){
			p[i].xw="HuFa";
			p[i].xwn=5;
		}
		else if(i<9){
			p[i].xw="ZhangLao";
			p[i].xwn=4;	
		}
		else if(i<16){
			p[i].xw="TangZhu";
			p[i].xwn=3;
		}
		else if(i<41){
			p[i].xw="JingYing";
			p[i].xwn=2;
		}
		else {
			p[i].xw="BangZhong";
			p[i].xwn=1;
		}
	}
	sort(p+4,p+n,cmp2);
	for(int i=0;i<n;i++)
		cout<<p[i].xm<<" "<<p[i].xw<<" "<<p[i].dj<<endl;
	return 0;
}
2023/8/3 16:17
加载中...