求助不知哪里错?!?!?!??!
查看原帖
求助不知哪里错?!?!?!??!
1237323
zhutongxuan楼主2024/1/19 20:57
#include<iostream>
#include<cstdio>
#include<string>
#include<algorithm>
using namespace std;

struct baba{
	int zhiwei,banggong,dengji,id;
	string name,zhiweii;
}s[200];

bool cmp1(baba x,baba y){
	if(x.banggong != y.banggong){
		return x.banggong > y.banggong;
	}
	else{
		return x.id < y.id;
	}
}

bool cmp2(baba x,baba y){
	if(x.zhiwei != y.zhiwei){
		return x.zhiwei > y.zhiwei;
	}
	else if(x.dengji != y.dengji){
		return x.dengji > y.dengji;
	}
	else{
		return x.id < y.id;
	}
}

int main(){
	int n;
	string z;
	cin>>n;
	for(int i = 1;i <= n;i++){
		cin>>s[i].name>>z>>s[i].banggong>>s[i].dengji;
		s[i].zhiweii = z;
		if(z == "BangZhong"){
			s[i].zhiwei = 0;
		}
		else if(z == "JingYing"){
			s[i].zhiwei = 1;
		}
		else if(z == "TangZhu"){
			s[i].zhiwei = 2;
		}
		else if(z == "ZhangLao"){
			s[i].zhiwei = 3;
		}
		else if(z == "HuFa"){
			s[i].zhiwei = 4;
		}
		else if(z == "FuBangZhu"){
			s[i].zhiwei = 5;
		}
		else if(z == "BangZhu"){
			s[i].zhiwei = 6;
		}
		s[i].id = i;
	}
	sort(s + 4,s + n + 1,cmp1);
	for(int i = 1;i <= n;i++){
		s[i].id = i;
	}
	for(int i = 1;i <= n;i++){
		if(i == 1){
			s[i].zhiwei = 6;
			s[i].zhiweii = "BangZhu";
		}
		else if(i >= 2 && i <= 3){
			s[i].zhiwei = 5;
			s[i].zhiweii = "FuBangZhu";
		}
		else if(i >= 4 && i <= 5){
			s[i].zhiwei = 4;
			s[i].zhiweii = "HuFa";
		}
		else if(i >= 6 && i <= 9){
			s[i].zhiwei = 3;
			s[i].zhiweii = "ZhangLao";
		}
		else if(i >= 10 && i <= 16){
			s[i].zhiwei = 2;
			s[i].zhiweii = "TangZhu";
		}
		else if(i >= 17 && i <= 41){
			s[i].zhiwei = 1;
			s[i].zhiweii = "TangZhu";
		}
		else{
			s[i].zhiwei = 0;
			s[i].zhiweii = "BangZhong";
		}
	}
	sort(s + 1,s + n + 1,cmp2);
	for(int i = 1;i <= n;i++){
		cout<<s[i].name<<" "<<s[i].zhiweii<<" "<<s[i].dengji<<endl;
	}
    return 0;
}
2024/1/19 20:57
加载中...