提交时间:2024-11-04 10:14:55

运行 ID: 55258

#include<bits/stdc++.h> using namespace std; struct sick{ int num; string id; int age; }a[110]; /*如果返回true,s1排在s2前面 如果返回false,s1排在s2后面*/ bool cmp(sick s1,sick s2){ if(s1.age>=60&&s1.age>=60) return s1.age>s2.age||s1.age==s2.age&&s1.num<s2.num; else if(s1.age<60&&s2.age) return s1.num<s2.num; else if(s1.age>=60&&s2.age<60) return true; else return false; } int main(){ int n; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i].id>>a[i].age; a[i].num=i; } sort(a+1,a+1+n,cmp); for(int i=1;i<=n;i++){ cout<<a[i].id<<endl; } return 0; }