社区讨论

3个点RE70分求调

P1786帮贡排序参与者 3已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@mhj42e7x
此快照首次捕获于
2025/11/03 20:23
4 个月前
此快照最后确认于
2025/11/03 20:23
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
struct a{
	string pos;
	string name;
	long long b;
	long long d;
	long long s;
	long long h;
};
a c[11005];
bool cmp(a x,a y){
	return x.b>=y.b;
}
bool cnp(a x,a y){
	if(x.h==y.h){
		if(x.d==y.d){
			return x.s<y.s;
		}else{
			return x.d>y.d;
		}
	}else{
		return x.h>y.h;
	}
}
long long n;
int main(){
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>c[i].name>>c[i].pos>>c[i].b>>c[i].d;
		c[i].s=i;
	}
	sort(c+3,c+n,cmp);
	for(int i=0;i<n;i++){
		if(i<1){
			c[i].pos="BangZhu";
			c[i].h=7;
		}else if(i<3){
			c[i].pos="FuBangZhu";
			c[i].h=6;
		}else if(i<5){
			c[i].pos="HuFa";
			c[i].h=5;
		}else if(i<9){
			c[i].pos="ZhangLao";
			c[i].h=4;
		}else if(i<16){
			c[i].pos="TangZhu";
			c[i].h=3;
		}else if(i<41){
			c[i].pos="JingYing";
			c[i].h=2;
		}else{
			c[i].pos="BangZhong";
			c[i].h=1;
		}
	}
	sort(c+3,c+n,cnp);
	for(int i=0;i<n;i++){
		cout<<c[i].name<<' '<<c[i].pos<<' '<<c[i].d<<endl;
	}
	return 0;
}

回复

4 条回复,欢迎继续交流。

正在加载回复...