1015 德才论 (25分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805307551629312
#include <iostream> #include <cstring> #include <string> #include <cmath> #include <algorithm> #include <cstdio> #include <vector> using namespace std; struct student{ int number; int moral; int ability; }; bool cmp(student a,student b) { if(a.moral+a.ability!=b.moral+b.ability) return a.moral+a.ability>b.moral+b.ability; else{ if(a.moral!=b.moral) return a.moral>b.moral; else return a.number<b.number; } } int main() { std::ios::sync_with_stdio(false); student t; vector<student> vec1,vec2,vec3,vec4; int N,L,H,m=0; cin>>N>>L>>H; for(int i=0;i<N;i++) { cin>>t.number>>t.moral>>t.ability; if(t.moral>=L&&t.ability>=L) { m++; if(t.moral>=H&&t.ability>=H) vec1.push_back(t); else if(t.moral>=H&&t.ability<H) vec2.push_back(t); else if(t.moral<H&&t.ability<H&&t.moral>=t.ability) vec3.push_back(t); else vec4.push_back(t); } } sort(vec1.begin(),vec1.end(),cmp); sort(vec2.begin(),vec2.end(),cmp); sort(vec3.begin(),vec3.end(),cmp); sort(vec4.begin(),vec4.end(),cmp); cout<<m<<"\n"; for(int i=0;i<vec1.size();i++) cout<<vec1[i].number<<" "<<vec1[i].moral<<" "<<vec1[i].ability<<"\n"; for(int i=0;i<vec2.size();i++) cout<<vec2[i].number<<" "<<vec2[i].moral<<" "<<vec2[i].ability<<"\n"; for(int i=0;i<vec3.size();i++) cout<<vec3[i].number<<" "<<vec3[i].moral<<" "<<vec3[i].ability<<"\n"; for(int i=0;i<vec4.size();i++) cout<<vec4[i].number<<" "<<vec4[i].moral<<" "<<vec4[i].ability<<"\n"; return 0; }
参考:https://blog.csdn.net/qq_37729102/article/details/81633082
原文:https://www.cnblogs.com/jianqiao123/p/12256462.html