1036 Boys vs Girls (25point(s)) Easy only once *sort cmp水题

基本思想:

还是sort cmp那一套;

关键点:

没啥可说的;

 1 #include<iostream>
 2 #include<stdlib.h>
 3 #include<stdio.h>
 4 #include<vector> 
 5 #include<string>
 6 #include<math.h>
 7 #include<algorithm>
 8 using namespace std;
 9 using std::vector;
10 int n;
11 
12 struct student{
13     char name[11];
14     char gender;
15     char id[11];
16     int grade;
17 };
18 
19 vector<student>fe;
20 vector<student>me;
21 bool flag = true;
22 
23 bool cmp(student a, student b) {
24     if (flag) {
25         return a.grade > b.grade;
26     }
27     else {
28         return a.grade < b.grade;
29     }
30 }
31 
32 
33 int main() {
34     scanf("%d", &n);
35     char name[11];
36     char gender;
37     char id[11];
38     int grade;
39     for (int i = 0; i < n; i++) {
40         student s;
41         scanf("%s %c %s %d", s.name, &s.gender, s.id, &s.grade);
42         if (s.gender == 'M') {
43             me.push_back(s);
44         }
45         else {
46             fe.push_back(s);
47         }
48     }
49     sort(fe.begin(), fe.end(), cmp);
50     flag = false;
51     sort(me.begin(), me.end(), cmp);
52     if (fe.size() == 0) {
53         cout << "Absent" << endl;
54     }
55     else {
56         printf("%s %s\n", fe[0].name, fe[0].id);
57     }
58     if (me.size() == 0) {
59         cout << "Absent" << endl;
60     }
61     else {
62         printf("%s %s\n", me[0].name, me[0].id);
63     }
64     if(fe.size() == 0 || me.size() == 0) {
65         cout << "NA" << endl;
66     }
67     else {
68         cout << abs(fe[0].grade - me[0].grade)<<endl;
69     }
70     system("pause");
71     return 0;
72 }

猜你喜欢

转载自www.cnblogs.com/songlinxuan/p/12196044.html