一个问题
查看原帖
一个问题
969221
Fryderyk_Chopin楼主2023/6/30 22:12

P1104求救,样例全过了,但是函数部分似乎出了一点问题。。。

#include<bits/stdc++.h>
using namespace std;
struct student {
	string name;
	int year;
	int month;
	int day;
}; 
student a[101];
bool cmp(student x,student y){
	if(x.year<y.year) return x.name>y.name;
	else if(x.year==y.year){
		if(x.month<y.month) return x.name>y.name;
		else if(x.month==y.month){
			if(x.day<y.day) return x.name>y.name;
			else if(x.day==y.day) return x.name>y.name;
			else return y.name<x.name;
		}
		else return y.name<x.name;
	}
	else return y.name<x.name;
}
int main(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i].name>>a[i].year>>a[i].month>>a[i].day;
	}
	sort(a+0,a+n+1,cmp);
	for(int i=n;i>=1;i--){
		cout<<a[i].name<<"\n";
	}
	return 0;
}
2023/6/30 22:12
加载中...