牛客网PAT练兵场-德才论
2024-09-07 20:56:55
题解:用sort排序即可
题目地址:https://www.nowcoder.com/questionTerminal/97b6a49a85944650b2e3d0660b91c324
/**
* Copyright(c)
* All rights reserved.
* Author : Ycute
* Date : 2019-10-30-19.49.12
* Description : struct排序
*/
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std; struct stu{
int id;
int c1;
int c2;
}; bool cmp(struct stu a,struct stu b){
if((a.c1+a.c2)==(b.c1+b.c2)){
if(a.c1==b.c1){
return a.id<b.id?true:false;
}else{
return a.c1>b.c1?true:false;
}
}else{
return (a.c1+a.c2)>(b.c1+b.c2)?true:false;
}
} struct stu p1[];
struct stu p2[];
struct stu p3[];
struct stu p4[];
int main(){
int num,C1,C2;
scanf("%d %d %d",&num,&C1,&C2);
int tot=;
int l1=,l2=,l3=,l4=;
for(int i=;i<num;++i){//输入并进行分组
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
if(b<C1||c<C1)continue;
if(b>=C2&&c>=C2){
p1[l1].id=a;
p1[l1].c1=b;
p1[l1++].c2=c;
} else if(b>=C2){
p2[l2].id=a;
p2[l2].c1=b;
p2[l2++].c2=c;
}else if(b>=c){
p3[l3].id=a;
p3[l3].c1=b;
p3[l3++].c2=c;
}else{
p4[l4].id=a;
p4[l4].c1=b;
p4[l4++].c2=c;
}
++tot;
}
//排序
sort(p1,p1+l1,cmp);
sort(p2,p2+l2,cmp);
sort(p3,p3+l3,cmp);
sort(p4,p4+l4,cmp);
//cout<<l1<<" "<<l2<<" "<<l3<<" "<<l4<<endl;
printf("%d\n",tot);
for(int i=;i<l1;++i){
printf("%d %d %d\n",p1[i].id,p1[i].c1,p1[i].c2);
}
for(int i=;i<l2;++i){
printf("%d %d %d\n",p2[i].id,p2[i].c1,p2[i].c2);
}
for(int i=;i<l3;++i){
printf("%d %d %d\n",p3[i].id,p3[i].c1,p3[i].c2);
}
for(int i=;i<l4;++i){
printf("%d %d %d\n",p4[i].id,p4[i].c1,p4[i].c2);
}
return ;
}
最新文章
- [python]爬虫学习(一)
- WordPress的have_posts()和the_post()用法解析
- java.util.List接口的方法subList()的使用注意事项
- Linux磁盘及文件系统管理 4---- Linux文件系统挂载管理
- 修改cas登陆页面-服务器端
- python 自动化之路 day 09 进程、线程、协程篇
- Android开发视频学习(1)
- 基于u-boot源码的简单shell软件实现
- Android studio开发常用快捷键
- Ext4 简单的treepanel
- Node.js笔记2
- 封装好的图片滑动框架(AndroidImageSlider)
- 从开源项目看python代码注释
- jQuery extend 方法使用 (转)
- 【Java基础】【04循环语句&;方法】
- 正则-关于一个结果不确定现象怪的研究(reg.test(‘-1’))
- Python爬虫与数据分析之进阶教程:文件操作、lambda表达式、递归、yield生成器
- TODO java 作业-梭哈--待完成
- mysql 累加求和
- POJ 2840