求助,蒟蒻未能理解本题题意
  • 板块P1786 帮贡排序
  • 楼主玄铮
  • 当前回复2
  • 已保存回复2
  • 发布时间2022/10/4 22:02
  • 上次更新2023/10/27 08:46:44
查看原帖
求助,蒟蒻未能理解本题题意
540396
玄铮楼主2022/10/4 22:02
帮贡高的排在前面,相同按等级排序,为什么样例的BangYou3在BangYou1前面?
#include<iostream>
#include<cstdio>
#include<algorithm>

using namespace std;

int n;
struct rec{
	string name,work;
	int g,lvl;
}z[150];

bool cmp(rec a,rec b){
	if(a.g==b.g) return a.lvl<b.lvl;
	else return a.g>b.g;
}

int main(){
	freopen("in.in","r",stdin);
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
		cin>>z[i].name>>z[i].work>>z[i].g>>z[i].lvl;
	
	sort(z+4,z+n+1,cmp);
	
	for(int i=1;i<=3;i++) cout<<z[i].name<<" "<<z[i].work<<" "<<z[i].lvl<<endl;
	int k=4;
	for(int i=1;i<=2;i++){
		if(z[k].name.empty()) return 0;
		cout<<z[k].name<<" HuFa "<<z[k].lvl<<endl;
		k++;
	}
	for(int i=1;i<=4;i++){
		if(z[k].name.empty()) return 0;
		cout<<z[k].name<<" ZhangLao "<<z[k].lvl<<endl;
		k++;
	}
	for(int i=1;i<=7;i++){
		if(z[k].name.empty()) return 0;
		cout<<z[k].name<<" TangZhu "<<z[k].lvl<<endl;
		k++;
	}
	for(int i=1;i<=25;i++){
		if(z[k].name.empty()) return 0;
		cout<<z[k].name<<" JingYing "<<z[k].lvl<<endl;
		k++;
	}
	for(int i=1;!z[k].name.empty();i++){
		cout<<z[k].name<<" BangZhong "<<z[k].lvl<<endl;
		k++;
	}
	
	return 0;
}

谢调

2022/10/4 22:02
加载中...