1015 德才论 (25分)

2023-11-10

1015 德才论 (25分)

宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”

现给出一批考生的德才分数,请根据司马光的理论给出录取排名。

输入格式: 输入第一行给出 3 个正整数,分别为:N(≤10 ​5 ​​
),即考生总数;L(≥60),为录取最低分数线,即德分和才分均不低于 L
的考生才有资格被考虑录取;H(<100),为优先录取线——德分和才分均不低于此线的被定义为“才德全尽”,此类考生按德才总分从高到低排序;才分不到但德分到线的一类考生属于“德胜才”,也按总分排序,但排在第一类考生之后;德才分均低于
H,但是德分不低于才分的考生属于“才德兼亡”但尚有“德胜才”者,按总分排序,但排在第二类考生之后;其他达到最低线 L
的考生也按总分排序,但排在第三类考生之后。

随后 N 行,每行给出一位考生的信息,包括:准考证号 德分 才分,其中准考证号为 8 位整数,德才分为区间 [0, 100]
内的整数。数字间以空格分隔。

输出格式: 输出第一行首先给出达到最低分数线的考生人数 M,随后 M
行,每行按照输入格式输出一位考生的信息,考生按输入中说明的规则从高到低排序。当某类考生中有多人总分相同时,按其德分降序排列;若德分也并列,则按准考证号的升序输出。

输入样例:
14 60 80
10000001 64 90
10000002 90 60
10000011 85 80
10000003 85 80
10000004 80 85
10000005 82 77
10000006 83 76
10000007 90 78
10000008 75 79
10000009 59 90
10000010 88 45
10000012 80 100
10000013 90 99
10000014 66 60

输出样例:
12
10000013 90 99
10000012 80 100
10000003 85 80
10000011 85 80
10000004 80 85
10000007 90 78
10000006 83 76
10000005 82 77
10000002 90 60
10000014 66 60
10000008 75 79
10000001 64 90

思路分析:此题最大的框架就是按照类别排序。这里把学生分为五个等级:分别是12345。
1排序:当这个类别号不同时,按照类别号从小到大排序;类别号相同时,按照总分从大到小排序;总分相同时,按照德分从大到小排序;德分相同时,按照学号从小到大排序。

2学生类别按照题目要求分类即可。
代码时间:

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string.h>
using namespace std;
struct student
{
    char id[10];//准考证号
    int de,cai,sum;//德分,才分及总分
    int flag;//考生类别,1-5

} stu[100010];

bool cmp(student a,student b)
{
    if(a.flag!=b.flag)
        return a.flag<b.flag;//类别小的在前
    else if(a.sum!=b.sum)
        return a.sum>b.sum;//类别相同,总分大的在前面
    else if(a.de!=b.de)
        return a.de>b.de;//总分相同时,德分大的在前面
    else
        return strcmp(a.id,b.id)<0;//德分相同时,准考试号小的在前面
}
int main()
{
    int n,l,h;
    scanf("%d%d%d",&n,&l,&h);
    int m=n;//及格人数
    for(int i=0; i<n; i++)
    {
        scanf("%s%d%d",stu[i].id,&stu[i].de,&stu[i].cai);
        stu[i].sum=stu[i].cai+stu[i].de;
        if(stu[i].cai<l||stu[i].de<l)
        {
            stu[i].flag=5;//第五类考生,不及格
            m--;//及格人数减一
        }
        else if(stu[i].de>=h&&stu[i].cai>=h)
            stu[i].flag=1;
        else if(stu[i].de>=h&&stu[i].cai<h)
            stu[i].flag=2;
        else if(stu[i].de>=stu[i].cai)
            stu[i].flag=3;
        else
            stu[i].flag=4;
    }
    sort(stu,stu+n,cmp);
    printf("%d\n",m);//及格人数
    for(int i=0; i<m; i++)
    {
        printf("%s %d %d\n",stu[i].id,stu[i].de,stu[i].cai);
    }
    return 0;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

1015 德才论 (25分) 的相关文章

  • 一、绘制不同类别特征均值标准差直方图

    1 绘制不同类别植被指数均值标准差直方图 数据类型 不同类别样本植被指数 实验目的 1 计算不同类别各指数的均值和标准差 1 1读取表格中的数据 1 2预处理数据 提取不同类别指数 归一化指数 计算均值标准差 1 3画图 import pa
  • fhog资料整理

    fast hog资料整理 https github com joaofaro FHOG https github com ppaanngggg fhog 这个有两种 1 DPM的 Mat tmp image image convertTo
  • 如何读取字符串中的空格

    根据前面的学习 我们可以知道scanf读取到空格 回车 tab会停止读取 后面的内容会交给后面的scanf读取 那么问题来了 我们如何让scanf语句把字符串中的空格也读取呢 在scanf中使用 参数 这个参数的作用就是读取一个字符集合 中
  • Python+Selenium框架篇1-介绍unittest单元测试框架

    本文介绍什么是unittest单元测试框架 1 什么是unittest框架 unittest框架 原名PyUnit框架 是Python语言自带的单元测试框架 Python2 1及其之后的版本已将unittest作为一个标准模块放入Pytho
  • 【PC】响应式HTML5网页项目

    快速完成网页设计 10个顶尖响应式HTML5网页模板助你一臂之力 为了寻找一个优质的网页模板 网页设计师和开发者往往可能会花上大半天的时间 不过幸运的是 现在的网页设计师和开发人员已经开始共享HTML5 Bootstrap和CSS3中的免费
  • untiy 监听屏幕点击 物体(实现)

    第一种方式 1 百度的第三方法 using System Collections using System Collections Generic using UnityEngine using UnityEngine UI public
  • linux下nginx+php安装

    初始nginx php环境文件复制安装 需要复制的文件列表 usr local nginx usr local php usr local php 5 4 35 data mexue apps mysql etc init d mysqld
  • C#反射:GetManifestResourceStream

    public virtual Stream GetManifestResourceStream string name 参数 name 类型 System String 所请求的清单资源的名称 区分大小写 name格式 项目名称 文件名 通
  • 区块链:单位(Units) 和 全局变量(Globally Available Variables)

    Ether Units 一个整数的后面可以跟一个单位 ether finney szabo或者wei 他们的单位换算如下 1 ether 1000 finney 1 ether 1000000 szabo 1 ether 10 18 wei
  • sql count中加条件

    一般的 我们会在where 或者 having中加条件 count中只是某个字段 今天看到另外一种写法 不知道性能怎么样 select count case when xxx gt 10 and yyy lt 99 then bbb els
  • gitlab的安装过程以及如何修改默认端口

    工欲善其事 必先利其器 此文讲述的是gitlab的安装历程 需要有一定的英文阅读能力者 安装环境 ubuntu Ubuntu 17 04 官方推荐需要的硬件条件 Storage a fast drive 7200 RPM and up or
  • tsconfig.json的esModuleInterop使用场景是怎样的?

    问题场景 npm包改造前 仅支持esm npm包改造后 既支持esm 又支持cjs 为什么改造后 还是会报错 如何理解ts编译配置esModuleInterop 总结 问题场景 遇到一个很有趣的场景 cjs中需要引入原先打包方式为esm方式
  • 基于NSGA算法解决地形路径规划问题(MATLAB代码)

    基于NSGA算法解决地形路径规划问题 MATLAB代码 地形路径规划是一个重要的问题 涉及到在具有复杂地形的环境中找到一条最佳路径 NSGA Non dominated Sorting Genetic Algorithm 是一种多目标优化算
  • WSL 的基本命令

    文章目录 安装 列出可用的 Linux 发行版 列出已安装的 Linux 发行版 将 WSL 版本设置为 1 或 2 设置默认 WSL 版本 设置默认 Linux 发行版 将目录更改为主页 通过 PowerShell 或 CMD 运行特定的
  • dmmbus地址_dmmbus.cc服务器iP

    2019 03 05 2020 12 19 69 171 233 37 2019 03 05 2020 12 19 69 171 245 84 2019 03 05 2020 12 19 69 171 247 20 2019 03 05 2
  • curl支持ssl报错:SSL certificate problem: unable to get local issuer certificate

    curl去访问https的站点报错 curl v https www baidu com SSLv3 TLS handshake Client hello 1 SSLv3 TLS handshake Server hello 2 SSLv3
  • 解决Cannot resolve plugin org.apache.maven.plugins:maven-site-plugin:3.3问题

    在maven项目中遇到这个问题 判断是版本不一致问题 解决 打开设置 Build Execution Deployment Build Tools Maven 如下图 问题的原因出在 在该项目集成的maven和当前项目设置不统一 可能是之前
  • Spring Security学习一-控制同个帐号当前只能有一个登录

    Date 2016 09 14 Author Kagula Envronment 1 JDK 1 7 0 79 2 apache tomcat 7 0 68 3 Eclipse Mars2 Introduction 据 spring sec

随机推荐

  • es6数组方法图解

    最近接触了一些 web前端开发人员 发现还是很多人不适用es6 提供的语义化api 下面分享下看到的图解 es6 数组方法 很形象的es6数组方法解释
  • JavaScript-----个性名片案例展示

    目录 前言 效果展示 代码 html代码 CSS代码 图片资源 前言 今天我们就通过刚刚学习的JavaScript知识点以及前面学习了的html和CSS的知识点去做一个小作品 这是一个个性名片的案例 有代码资源和图片资源 希望大家喜欢 效果
  • PgSQL个人学习笔记(一)——PgSQL介绍

    一 什么是PgSQL PgSQL 全称PostgreSQL 是一个功能强大的开源对象 关系型数据库系统 结合了许多安全存储和扩展最复杂数据工作负载的功能 它支持大部分SQL标准并且提供了许多其他现代特性 二 特性 价钱 开源 函数 通过函数
  • c++重载类型转换运算符

    类型转换运算符 类型转换运算符是类的一种特殊成员函数 负责将一个类类型的值转换成其他类型 一个类型转换函数必须是类的成员函数 不能有返回类型 形参列表也必须为空 通常是const的 operator type const class Sma
  • 期待相聚|2023 Google 开发者大会现场见

    直达科技前沿 点亮技术灵感 激发新思妙想 收获多元共进 长按下方图片 扫码报名参会 仅出于确认身份 请填写与身份证件一致的姓名 并确认邮箱地址及联系电话准确无误 2023 Google 开发者大会主旨演讲将会分享 Google 如何通过更智
  • typescript枚举

    一 前言 1 enum是在typescript中新增的合法类型 是对JavaScript标准数据类型的一个补充 2 enum的主要作用是可以为一组限定范围内数值赋予友好的名字 二 enum介绍 1 enmu的基本形式如下 enum Anim
  • 解决pom文件报错的原因

    原因 由于2 1 5 RELEASE 升级到了3 1 2 造成的问题 有些IDE插件不兼容的问题造成的 解决 在pom xml 文件中的 properties 加入maven jar 插件的版本号 如下图 然后maven gt update
  • Java线程:新特征-信号量

    本文转载至 http lavasoft blog 51cto com 62575 222469 Java线程 新特征 信号量 Java的信号量实际上是一个功能完毕的计数器 对控制一定资源的消费与回收有着很重要的意义 信号量常常用于多线程的代
  • 51单片机——八段数码管

    在对LED灯的应用有了一定的了解之后 我开始学习了一些关于数码管的应用 在我的开发板上 有独立共阳管和八位共阴管 数码管从高位到低位的段码依次是h dp g f e d c b a共八位 共阴管是 1 表示亮 0 表示灭 而共阳管则是相反的
  • TortoiseGit如何恢复本地删除的文件

    从Gitlab获取仓库到本地 本地仓库中某个文件不小心被删除 恢复操作如下 1 在本地仓库点击右键tortorisegit show log 2 选择版本 当时执行删除操作的版本 3 选择被delete掉的文件 状态为Missing 需要恢
  • HIVE SQL 计算留存率 思路

    问题 计算每日访问用户 在之后日期的留存数 基础表 每日访问用户ID create external table if not exists user visit date user id bigint comment 用户ID comme
  • 鸿蒙系统笔记

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 OpenHarmony整体分层 二 使用步骤 1 引入库 2 读入数据 总结 前言 主要是学习鸿蒙系统的个人笔记 笔记非常烂 一 OpenHarmony整
  • 华为手机一键刷新在哪里_华为手机怎么开启应用自动更新?华为手机WIFI下自动更新软件教程...

    玩手机稍微久点的朋友都知道 保持手机内的应用为最新版本 不但可以尽早地用上新功能 而且还能最大限度地保证手机的安全 当然了 如果每次手机开机都去检查安装的应用是否为最新版本 时间一长也难免烦不胜烦 要是能够让手机内的所有应用都能自动升级自然
  • Docker上安装DM8数据库

    Docker Docker是一种运行于Linux和Windows上的软件 用于创建 管理和编排容器 Docker官网 Empowering App Development for Developers DockerLearn how Doc
  • SQL数据结构timestamp

    既然遇到了 那就记录它吧 hairy377 在sqlyog中建表时 需要自动获取时间或者根据表的改变修改时间 可以使用timestamp数据结构 默认值 CURRENT TIMESTAMP 如果需要记录更新的时间 则勾上更新 这是在sqly
  • docker报错:WSL 2 installation is incomplete

    docker报错 WSL 2 installation is incomplete 错误原因 大概率是wsl未安装或者是未升级成wsl2 检查wsl版本方法 在powershell中使用命令wsl l v 我的已经是升级成了wsl2 所以V
  • 【Hbuilder+vue项目学习】新项目初建

    下载uView空白模板 下载包中的内容 导入在Hbuilder X中导入项目即可创建成功 在gitee上管理项目 填写好名称 介绍等信息 点击创建即可 点击HbuilderX下的终端图标 进行上传项目操作 emmm终端一片空白 用不了 网上
  • 视觉注意力的循环神经网络模型

    我们观察PPT的时候 面对整个场景 不会一下子处理全部场景信息 而会有选择地分配注意力 每次关注不同的区域 然后将信息整合来得到整个的视觉印象 进而指导后面的眼球运动 将感兴趣的东西放在视野中心 每次只处理视野中的部分 忽略视野外区域 这样
  • 神经网络中关于卷积池化的计算(不为整数时,卷积向下取整,池化向上取整)

    输入图片大小为200 200 依次经过一层卷积 kernel size 5 5 padding 1 stride 2 pooling kernel size 3 3 padding 0 stride 1 又一层卷积 kernel size
  • 1015 德才论 (25分)

    1015 德才论 25分 宋代史学家司马光在 资治通鉴 中有一段著名的 德才论 是故才德全尽谓之圣人 才德兼亡谓之愚人 德胜才谓之君子 才胜德谓之小人 凡取人之术 苟不得圣人 君子而与之 与其得小人 不若得愚人 现给出一批考生的德才分数 请