我看看
by bcbgszyzh @ 2023-11-24 10:42:42
> 如果有两个同学生日相同,输入靠后的同学先输出
by bcbgszyzh @ 2023-11-24 10:43:46
可以写成:
```cpp
#include<bits/stdc++.h>//万能头
using namespace std;
struct STU{
string s;
int y,m,d,bh;
};
bool cmp(STU a,STU b){
if(a.y<b.y)return true;
else if(a.y==b.y){
if(a.m<b.m)return true;
else if(a.m==b.m){
if(a.d<b.d)return true;
else if(a.d==b.d){
return a.bh<b.bh;
}else{
return false;
}
}else{
return false;
}
}else return false;
}
STU p[110];
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>p[i].s>>p[i].y>>p[i].m>>p[i].d;
p[i].bh=n-i+1;
}
sort(p,p+n,cmp);//三个参数,cmp代表排序规则
// for(int i=0;i<n;i++){
// cout<<p[i].s<<" "<<p[i].y<<" "<<p[i].m<<" "<<p[i].d<<" "<<p[i].bh<<'\n';
// }
for(int i=0;i<n;i++){
cout<<p[i].s<<endl;
}
return 0;
}
```
by bcbgszyzh @ 2023-11-24 10:44:16
@[bcbgszyzh](/user/726902) 谢谢
by Eagle2012 @ 2023-11-26 16:27:33