3,4,5点WA了,请大佬帮忙看一下哪里有问题
查看原帖
3,4,5点WA了,请大佬帮忙看一下哪里有问题
421265
eastcloud楼主2021/2/27 20:08
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
struct people{
	string na;
	string zhi;
	int ba,le,sh;
}a[200];
bool cmp(people a,people b){
	if(a.zhi=="BangZhu")return true;
	else if(b.zhi=="BangZhu") return false;
	else if(b.zhi=="FuBangZhu" && a.zhi!="FuBangZhu") return false;
	else if(a.zhi=="FuBangZhu" && b.zhi!="FuBangZhu") return true;
	else if(a.zhi=="FuBangZhu" && b.zhi==a.zhi) return a.sh<b.sh;
	else return a.ba>b.ba;
}
bool pmc(people a,people b){
	if(a.le==b.le){
		return a.sh<b.sh;
	}
	else return a.le>b.le;
}
int main(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i].na>>a[i].zhi>>a[i].ba>>a[i].le;
		a[i].sh=i;
	}
	sort(a+1,a+n+1,cmp);
	if(n>=5){
		sort(a+4,a+6,pmc);
		if(n>=9){
			sort(a+6,a+10,pmc);
			if(n>=16){
				sort(a+10,a+17,pmc);
				if(n>=41){
					sort(a+17,a+42,pmc);
					if(n>42){
						sort(a+42,a+n+1,pmc);
					}
				}
				else if(n>17){
					sort(a+17,a+n+1,pmc);
				}
			}
			else if(n>10){
				sort(a+10,a+n+1,pmc);
			}
		}
		else if(n>6){
			sort(a+6,a+n+1,pmc);
		}
	}
	for(int i=1;i<=n;i++){
		if(i==1)cout<<a[i].na<<' '<<"BangZhu"<<' '<<a[i].le<<endl;
		else if(i>1 && i<=3) cout<<a[i].na<<' '<<"FuBangZhu"<<' '<<a[i].le<<endl;
		else if(i>3 && i<=5) cout<<a[i].na<<' '<<"HuFa"<<' '<<a[i].le<<endl;
		else if(i>5 && i<=9) cout<<a[i].na<<' '<<"ZhangLao"<<' '<<a[i].le<<endl;
		else if(i>9 && i<=16) cout<<a[i].na<<' '<<"TangZhu"<<' '<<a[i].le<<endl;
		else if(i>16 && i<=41) cout<<a[i].na<<' '<<"JingYing"<<' '<<a[i].le<<endl;
		else cout<<a[i].na<<' '<<"BangZhong"<<' '<<a[i].le<<endl;
	}
}
2021/2/27 20:08
加载中...