题解:用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 ;
}

牛客网PAT练兵场-德才论的更多相关文章

  1. 牛客网PAT练兵场-科学计数法

    题目地址:https://www.nowcoder.com/pat/6/problem/4050 题解:模拟题 /** * Copyright(c) * All rights reserved. * ...

  2. 牛客网PAT练兵场-旧键盘打字

    题目地址:https://www.nowcoder.com/pat/6/problem/4059 题解:用数组下标标记,直接模拟 /** * *作者:Ycute *时间:2019-12-01-21.3 ...

  3. 牛客网PAT练兵场-人口普查

    题目地址:https://www.nowcoder.com/pat/6/problem/4054 题解:结构体排序即可 /** * Copyright(c) * All rights reserved ...

  4. 牛客网PAT练兵场-完美数列

    题目地址:https://www.nowcoder.com/pat/6/problem/4056 题解:先将a数组进行排序,第一次按题意M<=n*p;n=a[0]时,M最大为J(如下图),然后n ...

  5. 牛客网PAT练兵场-打印沙漏

    题目地址:https://www.nowcoder.com/pat/6/problem/4053 题意:模拟题 /** * Copyright(c) * All rights reserved. * ...

  6. 牛客网PAT练兵场-在霍格沃茨找零钱

    题目地址:https://www.nowcoder.com/pat/6/problem/4063 题意:按照题目的进制计算即可 /** * *作者:Ycute *时间:2019-11-14-21.45 ...

  7. 牛客网PAT练兵场-福尔摩斯的约会

    题目地址:https://www.nowcoder.com/pat/6/problem/4040 题意:模拟题,循环找相同的字母,但是注意题目的坑 /** * *作者:Ycute *时间:2019-1 ...

  8. 牛客网PAT练兵场-A除B

    题目地址:https://www.nowcoder.com/pat/6/problem/4043 题解:遍历大数,边除边输出,最后得到余数输出即可 /** * *作者:Ycute *时间:2019-1 ...

  9. 牛客网PAT练兵场-锤子剪刀布

    题目地址:https://www.nowcoder.com/questionTerminal/79db907555c24b15a9c73f7f7d0e2471 题解:无 /** * *作者:Ycute ...

随机推荐

  1. reverse 字符串翻转

    头文件 algorithm string s="hello"; reverse(s.begin(),s.end()); char c[]="hello"; re ...

  2. docker容器dns之resolv.conf

    基础信息 操作系统:CentOS Linux release 7.2.1511 (Core) Docker版本:Server Version: 1.9.1 拉取基础镜像 Rhel:7.2 为直接从do ...

  3. JavaScript高级程序设计(第三版) 6/25

    第六章面向对象的程序设计 1.定义只有在内部才用的特性(attribute)时,描述了属性(property)的各种特征.这些特性是为了实现JavaScript引擎用的,因此在JavaScript中不 ...

  4. 3-Pandas之Series和DataFrame区别

    一.Pandas pandas的数据元素包括以下几种类型: 类型 说明 object 字符串或混合类型 int 整型 float 浮点型 datetime 时间类型 bool 布尔型 二.Series ...

  5. 【BZOJ4398】福慧双修 题解(建图优化)

    题目链接 题目大意:给定一张$n$个点$m$条边的无向图,每条边两个方向的权值不一定相同.问从$1$出发不重复走一条边回到$1$的最短路径. ------------------- 暴力不太会.大概是 ...

  6. 【FZYZOJ】细菌 题解(最短路)

    题目描述 为了研究一种新型细菌(称它为S型细菌)的性质,Q博士将S型细菌放在了一个犹如迷宫一般的通道面前,迷宫中N个站点,每个站点之间以一种单向通道的形式连接,当然,也有可能某两个站点之间是互不联通的 ...

  7. 开源丨CloudBase CMS 内容管理系统!简单易用企业内容管理流

    背景 云开发CloudBase CMS 是云开发推出的一站式云端内容管理系统,助力企业的数据运营管理工作. 开发者可以直接在云开发扩展能力中一键安装 CloudBase CMS,免费使用 CloudB ...

  8. 云服务器远程连接mysql数据库

    首先需要在云服务器上,下载安装好mysql与Navicat. mysql下载好以后,打开云端的开始,找到mysql的命令窗,进入输入自己的mysql密码,稍等片刻进入mysql数据库 进入之后输入下列 ...

  9. Python下载网络图片方法汇总与实现

    本文介绍下载python下载网络图片的方法,包括通过图片url直接下载.通过re/beautifulSoup解析html下载以及对动态网页的处理等. ​ 很多人学习python,不知道从何学起.很多人 ...

  10. JDBC回顾

    回顾JDBC,完成查询 1 什么是JDBC JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库.原来我们操作数据库是在控制台使 ...