题解:用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. Redis系列(九):Redis的事务机制

    提到事务,相信大家都不陌生,事务的ACID四大特性,也是面试时经常问的,不过一般情况下,我们可能想到的是传统关系型数据库的事务,其实,Redis也是提供了事务机制的,本篇博客就来讲解下Redis的事务 ...

  2. JS中Math.random()的使用和扩展

    Math.random()方法返回大于等于 0 小于 1 的一个随机数.对于某些站点来说,这个方法非常实用,因为可以利用它来随机显示一些名人名言和新闻事件. 在连续整数中取得一个随机数 值 = Mat ...

  3. Android中的LruCache的原理和使用

    Android中的LruCache的原理和使用 LruCache,虽然很多文章都把LRU翻译成"最近最少使用"缓存策略,但Android中的LruCache真的如此吗? 答案是No ...

  4. [转] Java Agent使用详解

    以下文章来源于古时的风筝 ,作者古时的风筝 我们平时写 Java Agent 的机会确实不多,也可以说几乎用不着.但其实我们一直在用它,而且接触的机会非常多.下面这些技术都使用了 Java Agent ...

  5. day5.流程控制及while单项循环

    一.判断类型 isinstance 1.语法 """ 语法: # 用法一 isinstance(要判断的值,要判断的类型) 返回True 或者 False # 用法二 i ...

  6. python基础语法和实战练习

    (一)Python基础学习 Num01:python的基本数据类型 ①字符串:可进行拼接和截取 ②数字:int,float,complex(复数) 涉及到格式转换:int(x)转换为整数,float( ...

  7. ECS7天实践进阶训练营Day1:使用阿里云ECS,快速搭建、管理VuePress静态网站

    一.概述 VuePress是2018年由尤雨溪发布的一个全新的基于Vue的静态网站生成器,它是一个非常轻量级的静态网站生成器.VuePress主要用于生成技术文档,其类似于Gitbook,我们可以用于 ...

  8. OGG复制进程延迟高,优化方法一(使用索引)

    日常运维过程中,可能发现OGG同步进程延迟很高: 本篇介绍其中的一种方式. OGG复制进程,或者说同步进程及通过解析ogg trail文件,输出dml语句,在目标库执行dml操作,那么延迟高可能性其一 ...

  9. mapper.xml文件中传入list参数报错 ‘ ’附近有语法错误

    mapper.xml文件中传入list参数,使用foreach循环遍历值,但是在遍历的过程中出错了,具体代码如下所示 mapper.xml <select id="selectByCo ...

  10. tableau用户分类

    1.观察消费金额的分布 直接[消费金额]直方图趋势不明显的时候,可以考虑将金额对数化处理 这样看起来就近似个正态分布了 2.怎么看超市卖的最好的产品 更深层次的分析怎么做呢? 这个聚合字段在数据源不会 ...