1062. Talent and Virtue (25)

来源:互联网 发布:mac桌面文件 编辑:程序博客网 时间:2024/06/16 18:25

题目:https://www.patest.cn/contests/pat-a-practise/1062

代码:

#include<cstdio>  #include<cstring>  #include<cstdlib> #include<cmath>#include<stack>#include<string>#include<iostream>#include<algorithm>  using namespace std; struct stu{    char id[10];int de,cai,sum;int flag;}s[100010];bool cmp(stu a,stu b){if(a.flag!=b.flag) return a.flag<b.flag;else if(a.sum!=b.sum) return a.sum>b.sum;else if(a.de!= b.de) return a.de>b.de;else return strcmp(a.id,b.id)<0;}int main()  {   int n,min,max;scanf("%d%d%d",&n,&min,&max);int m=n;for(int i=0;i<n;i++){scanf("%s%d%d",s[i].id,&s[i].de,&s[i].cai);s[i].sum=s[i].de+s[i].cai;if(s[i].de<min||s[i].cai<min){s[i].flag=5;m--;}else if(s[i].de>=max&&s[i].cai>=max) s[i].flag=1;else if(s[i].de>=max&&s[i].cai<max) s[i].flag=2;else if(s[i].de>=s[i].cai) s[i].flag=3;else s[i].flag=4;}sort(s,s+n,cmp);printf("%d\n",m);for(int i=0;i<m;i++){printf("%s %d %d\n",s[i].id,s[i].de,s[i].cai);}    system("pause");  }                  

0 0
原创粉丝点击