1062. Talent and Virtue
来源:互联网 发布:淘宝网店可以改名吗 编辑:程序博客网 时间:2024/06/06 09:11
这一题 唯一的粗心是还没看完题目就开始写了
总的来说 用一个vector数组来存储分类 然后排序 只要思路清晰又不粗心 就可以对
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<vector>#include<cmath>#include<stack>#include<iterator>#define max(a,b) a>b?a:b#define min(a,b) a<b?a:busing namespace std;typedef struct node{int ID;int t;int v;int total;}node;bool cmp(node A,node B){ if(A.total<B.total) return false; else if(A.total==B.total) { if(A.v<B.v) return false; else if(A.v==B.v&&A.ID>B.ID) return false; } return true;}int main(){ int n,l,h,j; node p[100000]; scanf("%d%d%d",&n,&l,&h); j=0; vector<node> s[4]; for(int i=0;i<n;i++) { scanf("%d%d%d",&p[j].ID,&p[j].v,&p[j].t); p[j].total=p[j].v+p[j].t; if(p[j].t>=l&&p[j].v>=l) { if(p[j].t>=h&&p[j].v>=h) s[0].push_back(p[j]); else if(p[j].t<h&&p[j].v>=h) s[1].push_back(p[j]); else if(p[j].v>=p[j].t&&p[j].v<h&&p[j].t<h) s[2].push_back(p[j]); else s[3].push_back(p[j]); j++; } } printf("%d\n",j); for(int i=0;i<4;i++) sort(s[i].begin(),s[i].end(),cmp); for(int i=0;i<4;i++) { int ssize=s[i].size(); for(j=0;j<ssize;j++) printf("%d %d %d\n",s[i][j].ID,s[i][j].v,s[i][j].t); } return 0;}
0 0
- 1062. Talent and Virtue
- 1062. Talent and Virtue
- 1062.Talent and Virtue
- 1062. Talent and Virtue
- 1062. Talent and Virtue
- 1062. Talent and Virtue
- 1062. Talent and Virtue
- 1062. Talent and Virtue
- 1062. Talent and Virtue (25)
- 1062. Talent and Virtue (25)
- 1062. Talent and Virtue (25)
- PAT 1062. Talent and Virtue
- 1062. Talent and Virtue (25)
- 1062. Talent and Virtue (25)
- 1062. Talent and Virtue (25)
- 1062. Talent and Virtue (25)
- 1062. Talent and Virtue (25)
- 1062. Talent and Virtue (25)
- 蓝桥杯——趣味数组问题二(2017.2.14)
- CUDA学习记录之-吉祥的博客
- unity下 除法 乘法效率对比
- SpringBoot15 之 Servlet
- 算法训练 传纸条 蓝桥杯
- 1062. Talent and Virtue
- Java 数据结构 --> Stack 类
- LeetCode 88. Merge Sorted Array
- Node Js 使用Protobuf
- 面试微软等公司必备的书
- eclipse下运行自定义maven命令
- 行测-言语类题目总结
- SpringBoot16 之 Listener and Filter
- JNI开发流程(androidstudio)