2 solutions
-
1
#include<bits/stdc++.h> using namespace std; struct Stu { string x; int id; int age; }; Stu s[110]; bool cmp(Stu a,Stu b) { if(a.age>=60&&b.age<60) return 1; //老年人在前 if(a.age>=60&&b.age>=60&&a.age>b.age) return 1; //都是老年人,按照年龄 if(a.age>=60&&b.age>=60&&a.age==b.age&&a.id<b.id) return 1; //都是老年人,年龄也相同,按照编号 if(a.age<60&&b.age<60&&a.id<b.id) return 1; //非老年人,按照编号 return 0; } int main() { int n; cin>>n; for(int i=0;i<n;i++) { s[i].id=i; cin>>s[i].x>>s[i].age; } sort(s,s+n,cmp); for(int i=0;i<n;i++) cout<<s[i].x<<endl; return 0; }
Information
- ID
- 948
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 3
- Tags
- (None)
- # Submissions
- 49
- Accepted
- 17
- Uploaded By