Problem1613end @ 2024-08-01 20:35:06
为何第十二行大于改小于才过?
#include<bits/stdc++.h>
using namespace std;
int n;
struct loct{
string s;
int y,d,m,xh;
}a[1010];
bool cmp(loct at,loct bt){
if(at.y>bt.y) return 0;
else if(at.y==bt.y && at.m>bt.m) return 0;
else if(at.y==bt.y && at.m==bt.m && at.d>bt.d) return 0;
else if(at.y==bt.y && at.m==bt.m && at.d==bt.d && at.xh>bt.xh) return 0;//第十二行
else return 1;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].s>>a[i].y>>a[i].m>>a[i].d;
a[i].xh=i;
}
stable_sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++){
cout<<a[i].s<<endl;
}
return 0;
}
// 32 312 302
by WEICY123 @ 2024-08-01 20:38:39
@Problem1613end 如果有两个同学生日相同,输入靠后的同学先输出
by Problem1613end @ 2024-08-01 20:40:31
@WEICY123 谢谢