1015. 德才论 (25)

来源:互联网 发布:nba2k16mc查看数据 编辑:程序博客网 时间:2024/06/08 18:30

#include<stdio.h>#include<string.h>#include<vector>  //vector#include<algorithm> //sort#include<iostream> //bool cin cout size()using namespace std;struct stu{  // 通过结构体创建自己的数据类型int id,d,c;};//return a>b 表示降序,return a<b表示升序bool cmp(stu a,stu b){if(a.d+a.c!=b.d+b.c) return a.d+a.c>b.d+b.c;else if(a.d!=b.d) return a.d>b.d;else return a.id<b.id;}int main(){int N,L,H,i,count=0;cin>>N>>L>>H;    stu tmp;vector <stu> vec1,vec2,vec3,vec4; while(N--){cin>>tmp.id>>tmp.d>>tmp.c;  //cin 不能以endl结尾if(tmp.d>=L&&tmp.c>=L){count++;if(tmp.d>=H && tmp.c>=H){vec1.push_back(tmp);}else if(tmp.d>=H && tmp.c<H){vec2.push_back(tmp);}else if(tmp.d<H && tmp.c<H && tmp.d>=tmp.c){vec3.push_back(tmp);}else{vec4.push_back(tmp);}}}cout<<count<<endl;sort(vec1.begin(),vec1.end(),cmp);sort(vec2.begin(),vec2.end(),cmp);sort(vec3.begin(),vec3.end(),cmp);sort(vec4.begin(),vec4.end(),cmp);for(i=0;i<vec1.size();i++)printf("%d %d %d\n",vec1[i].id, vec1[i].d, vec1[i].c); //尽量用scanf和printf,用cin和cout有时会超时//cout<<vec1[i].id<<" "<<vec1[i].d<<" "<<vec1[i].c<<endl;for(i=0;i<vec2.size();i++)printf("%d %d %d\n",vec2[i].id, vec2[i].d, vec2[i].c);//cout<<vec2[i].id<<" "<<vec2[i].d<<" "<<vec2[i].c<<endl;for(i=0;i<vec3.size();i++)printf("%d %d %d\n",vec3[i].id, vec3[i].d, vec3[i].c);//cout<<vec3[i].id<<" "<<vec3[i].d<<" "<<vec3[i].c<<endl;for(i=0;i<vec4.size();i++)printf("%d %d %d\n",vec4[i].id, vec4[i].d, vec4[i].c);//cout<<vec4[i].id<<" "<<vec4[i].d<<" "<<vec4[i].c<<endl;return 0;}