1015. 德才论

    xiaoxiao2021-03-25  123

    题目:https://www.patest.cn/contests/pat-b-practise/1015

    #include<stdio.h> #include<vector> #include<algorithm> using namespace std; struct person{  int id,de,cai;  int score; }; bool cmp(person a,person b){  if(a.score!=b.score) return a.score>b.score;  else if(a.de!=b.de) return a.de>b.de;  else return a.id<b.id; } int main(){  int n,l,h;  scanf("%d%d%d",&n,&l,&h);  person temp;  int count=0;  vector<person>v1,v2,v3,v4;  for(int i=0;i<n;i++){   scanf("%d%d%d",&temp.id,&temp.de,&temp.cai);     temp.score=temp.de+temp.cai;   if(temp.de>=l&&temp.cai>=l){    count++;    if(temp.de>=h&&temp.cai>=h){     v1.push_back(temp);    }    else if(temp.de>=h&&temp.cai<h){     v2.push_back(temp);         }else if (temp.de<h&&temp.cai<h&&temp.de>=temp.cai){     v3.push_back(temp);         }else v4.push_back(temp);       }     }  printf("%d\n",count);  sort(v1.begin(),v1.end(),cmp);  sort(v2.begin(),v2.end(),cmp);  sort(v3.begin(),v3.end(),cmp);  sort(v4.begin(),v4.end(),cmp);  vector<person>::iterator it;     for (it = v1.begin(); it != v1.end(); ++it)         printf("%d %d %d\n", it->id, it->de, it->cai);      for (it = v2.begin(); it!= v2.end(); ++it)          printf("%d %d %d\n", it->id, it->de, it->cai);      for (it = v3.begin(); it != v3.end(); ++it)          printf("%d %d %d\n", it->id, it->de, it->cai);      for (it = v4.begin(); it != v4.end(); ++it)          printf("%d %d %d\n", it->id, it->de, it->cai); 

     return 0;    }

     

    转载请注明原文地址: https://ju.6miu.com/read-10783.html

    最新回复(0)