牛客网PAT练兵场-德才论
题解:用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练兵场-德才论的更多相关文章
- 牛客网PAT练兵场-科学计数法
题目地址:https://www.nowcoder.com/pat/6/problem/4050 题解:模拟题 /** * Copyright(c) * All rights reserved. * ...
- 牛客网PAT练兵场-旧键盘打字
题目地址:https://www.nowcoder.com/pat/6/problem/4059 题解:用数组下标标记,直接模拟 /** * *作者:Ycute *时间:2019-12-01-21.3 ...
- 牛客网PAT练兵场-人口普查
题目地址:https://www.nowcoder.com/pat/6/problem/4054 题解:结构体排序即可 /** * Copyright(c) * All rights reserved ...
- 牛客网PAT练兵场-完美数列
题目地址:https://www.nowcoder.com/pat/6/problem/4056 题解:先将a数组进行排序,第一次按题意M<=n*p;n=a[0]时,M最大为J(如下图),然后n ...
- 牛客网PAT练兵场-打印沙漏
题目地址:https://www.nowcoder.com/pat/6/problem/4053 题意:模拟题 /** * Copyright(c) * All rights reserved. * ...
- 牛客网PAT练兵场-在霍格沃茨找零钱
题目地址:https://www.nowcoder.com/pat/6/problem/4063 题意:按照题目的进制计算即可 /** * *作者:Ycute *时间:2019-11-14-21.45 ...
- 牛客网PAT练兵场-福尔摩斯的约会
题目地址:https://www.nowcoder.com/pat/6/problem/4040 题意:模拟题,循环找相同的字母,但是注意题目的坑 /** * *作者:Ycute *时间:2019-1 ...
- 牛客网PAT练兵场-A除B
题目地址:https://www.nowcoder.com/pat/6/problem/4043 题解:遍历大数,边除边输出,最后得到余数输出即可 /** * *作者:Ycute *时间:2019-1 ...
- 牛客网PAT练兵场-锤子剪刀布
题目地址:https://www.nowcoder.com/questionTerminal/79db907555c24b15a9c73f7f7d0e2471 题解:无 /** * *作者:Ycute ...
随机推荐
- 「从零单排canal 06」 instance模块源码解析
基于1.1.5-alpha版本,具体源码笔记可以参考我的github:https://github.com/saigu/JavaKnowledgeGraph/tree/master/code_read ...
- ajax模拟表单提交,后台使用npoi实现导入操作 方式二
页面代码: <form id="form1" enctype="multipart/form-data"> <div style=" ...
- 三个技巧帮助Docker镜像瘦身
在构建Docker容器时,应该尽量想办法获得体积更小的镜像,因为传输和部署体积较小的镜像速度更快. 但RUN语句总是会创建一个新层,而且在生成镜像之前还需要使用很多中间文件,在这种情况下,该如何获得体 ...
- 实验03——java十进制转二、八、十六进制;打印'中'的十六进制;进制转换的api
package cn.tedu.demo; /** * @author 赵瑞鑫 E-mail:1922250303@qq.com * @version 创建时间:2020年7月16日 上午10:22: ...
- 18-关键字:this
1.可以调用的结构:属性.方法:构造器2.this调用属性.方法: this理解为:当前对象 或 当前正在创建的对象 2.1 在类的方法中,我们可以使用"this.属性"或&quo ...
- Html视频播放同时获取当前帧下的图片
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- c语言学习笔记之typedef
这是我觉得这个博主总结的很好转载过来的 原地址:https://blog.csdn.net/weixin_41632560/article/details/80747640 C语言语法简单,但内涵却博 ...
- EasyExcel的基本使用方法
在Java语言领域,说到Excel处理工具,大家首先想到的可能是阿帕奇的poi,poi在处理数据量不大的excel文件上确实非常强大,但是随着后来excel从03(一个excel文件中最多有65536 ...
- 关于Springboot配置文件的理解
一.Springboot Springboot是用来简化Spring框架搭建和开发一款框架,可以理解为是一种Spring框架的简化版. 二.如何在IDEA里面初始化Springboot 主要可以分为两 ...
- C#LeetCode刷题之#54-螺旋矩阵(Spiral Matrix)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3672 访问. 给定一个包含 m x n 个元素的矩阵(m 行, ...