1 solutions
-
1
#include<bits/stdc++.h> using namespace std; struct node{ int num; string a; int age; }m[105];//创建结构体变量,号码,名字和年龄 bool cmp(node a,node b) { if(a.age>=60&&b.age>=60)//如果都是老年人 { if(a.age!=b.age)//如果年龄不相等的话 return a.age>b.age;//年龄大的在前 else//如果年龄相等的话 return a.num<b.num;//号码小的在前 } else if(a.age<60&&b.age<60)//如果都是年轻人 return a.num<b.num;//号码小的在前 else //如果是老年人和年轻人的话 return a.age>b.age;//年龄大的在前 } int main() { int n; cin>>n; for(int i=1;i<=n;i++) { cin>>m[i].a>>m[i].age; m[i].num=i; } sort(m+1,m+n+1,cmp); for(int i=1;i<=n;i++) cout<<m[i].a<<endl; return 0; }
- 1
Information
- ID
- 6835
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- 7
- Tags
- (None)
- # Submissions
- 35
- Accepted
- 10
- Uploaded By