OpenJudgeP1.10.08:病人排队__(刷题)_水题

这道题就是基础的结构体 sort 排序 ;

com(cmp) 函数写起来条件有点多,不过按照题目一点一点来,

也不难!

题目戳这里

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 const int maxn=1e6 + 5;
 4 
 5 struct sick
 6 {
 7     int num,age;
 8     string id;
 9 };
10 sick a[maxn];
11 int n;
12 
13 bool com(sick x,sick y)
14 {
15     if(x.age>=60 && y.age<60) return true;
16     if(x.age>=60 && y.age>=60 && x.age>y.age) return true;
17     if(x.age>=60 && y.age>=60 && x.age==y.age && x.num<y.num) return true;
18     if(x.age<60 && y.age<60 && x.num<y.num) return true;
19     return false;
20 }
21 
22 int main()
23 {
24     scanf("%d",&n);
25     for(int i=1;i<=n;i++)
26     {
27         a[i].num = i;
28         cin>>a[i].id>>a[i].age;
29     }
30     sort(a+1,a+n+1,com);
31     for(int i=1;i<=n;i++) cout<<a[i].id<<endl;
32     return 0;
33 }

 

posted @ 2018-08-11 14:26  pengcheng_official  阅读(306)  评论(0编辑  收藏  举报