【PAT】B1015. 德才论(输入输出、sort、struct)

PAT B1015德才论 段错误 1015 德才论 (25 分) 宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。” 现给出一批考生的德才分数,请根据司马光的理论给出录取排名。 输入格式: 输入第一行给出 3 个正整数,分别为:N(≤10​5​​),即考生总数;L(≥60),为录取最... 阅读详情

【PAT】B1015. 德才论(输入输出、sort、struct)

@(PAT)

链接:https://www.patest.cn/contests/pat-b-practise/1015

思路:
用结构体来存储每个学生的信息,然后按照题目信息将考生分成4类,分别按照规则排序,最后输出。

需要注意的地方:
1. algorithm里自带的sort函数非常好用,默认是按照数据降序排列,如果需要按照自己的规则排序,需要自己写compare函数作为sort函数的第三个输入参数。
2. 一个考生含有3种信息,用struct来存储信息是很好的选择。
3. 一开始用cin和cout来输入输出,有2个点会超时。cin和cout会比scanf和printf慢很多,所以刷题最好还是用scanf和printf吧。
scanf和printf用法总结可以参考下面这个博客:
https://www.cnblogs.com/michaeljunlove/p/3883717.html
(感谢原作者!)

My AC code:

#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
#include <string>
#include <sstream>
#include <cctype>

using namespace std;

struct Student {
    int id;
    int de;
    int cai;
    Student(int i, int d, int c) {
        this->id= i;
        this->de= d;
        this->cai= c;
    }
};

bool cmp(Student x, Student y) {
    if ((x.de+ x.cai)!= (y.de+ y.cai)) return (x.de+ x.cai)> (y.de+ y.cai);
    if (x.de!= y.de) return x.de> y.de;
    return x.id< y.id;
}

void myPrint(vector<Student> v) {
    for (int i= 0; i< v.size(); i++) {
        printf("%d %d %d\n", v[i].id, v[i].de, v[i].cai);
//      cout<< v[i].id<< " "<< v[i].de<< " "<< v[i].cai<< endl;
    }
}

int main() {
    int n, l, h;
//  cin>> n>> l>> h;
    scanf("%d %d %d", &n, &l, &h);
    vector<Student> v1, v2, v3, v4;
    int num= 0;
    // input
    for (int i= 0; i< n; i++) {
        int Id, d, c;
//      cin>> Id>> d>> c;
        scanf("%d %d %d", &Id, &d, &c);
        if (d>= l&& c>= l) {
            Student temp(Id, d, c);
            if (d>= h&& c>= h) {
                v1.push_back(temp);
            } else if (d>= h&& c< h) {
                v2.push_back(temp);
            } else if (d< h&& c< h&& d>= c) {
                v3.push_back(temp);
            } else {
                v4.push_back(temp);
            }
            num++;
        }
    }
    // sort
    if (!v1.empty()) sort(v1.begin(), v1.end(), cmp);
    if (!v2.empty()) sort(v2.begin(), v2.end(), cmp);
    if (!v3.empty()) sort(v3.begin(), v3.end(), cmp);
    if (!v4.empty()) sort(v4.begin(), v4.end(), cmp);
    // print
    // cout<< num<< endl;
    printf("%d\n", num);
    myPrint(v1);
    myPrint(v2);
    myPrint(v3);
    myPrint(v4);
}
Excel炒股党必备:手把手教你用Power Query免费获取并刷新股票历史数据 本文详细介绍了如何利用Excel中的Power Query工具免费获取并自动刷新股票历史数据,特别适合Excel炒股党。从环境配置、数据源选择到实战操作,手把手教你建立智能数据管道,实现高效投资分析。通过参数化股票代码和定时刷新功能,大幅提升数据更新效率。 阅读详情

相关推荐

深度伪造检测实战:轻量级频域特征 pipeline 部署指南

深度伪造检测(deepfake detection)是多媒体内容安全的核心技术,其本质是通过建模生成式篡改在像素与频域留下的微弱异常痕迹。传统端到端大模型虽在标准数据集上表现优异,却因训练域与真实场景失配、计算开销高、缺乏可解释性而难以落地。本文聚焦于工程可复现的实践路径,提出‘人脸定位→频域伪造特征提取(Xception-FCN + Frequency-Aware Masking)→轻量分类决策’三段式解耦架构,兼顾精度、延迟与可解释性。该方案已在边缘设备(Jetson Orin NX)实现单帧<48ms

weixin_33437929的博客 309

PATb1015

PATb1015题目描述:输入描述:输出描述:题目的坑评论区copy代码附:附解附自己写的 *垃圾* 代码 题目描述: 给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转。例如:给定L为1→2→3→4→5→6,K为3,则输出应该为 3→2→1→6→5→4;如果K为4,则输出应该为4→3→2→1→5→6,即最后不到K个元素不反转。 输入描述: 每个输入包含1个测试用例。每个测试用例第1行...

shxzz371326的博客 250

PlutoSDR在matlab中的环境配置(包括驱动和硬件支持包)

双击下载到的驱动,除了点击接受协议和设置安装路径,其他只要点击下一步或者安装即可。登录或者注册你的账号,选择你的matlab版本(这里我的是2023b),点击下一步。设置安装路径,并选择我接受,点击下一步,即可安装完成,并在安装路径中得到。完成后,打开设备管理器,在端口和通用串行总线设备一栏,即可看见下图。点击进入,选择相应的系统安装包,这里我选择的Windows。可看到我们要安装的Pluto支持包,安装即可。右击桌面matlab,选择打开文件所在位置。右上角搜索pluto,选择并点击下一步。

weixin_53160338的博客 4867

PAT-B1015(C/C++代码解析)

1015 德才论 (25 分) 注:排序题 #include <stdio.h> #include <algorithm> struct student{ int id; int de; int cai; }; using namespace std; bool cmp (student a,student b) { if (a.cai+a.de!=b.cai+b.de) return a.de+a.cai>b.de+b.cai; else if (a.de!

taylorswift的博客 401

ArcGIS 10.8软件安装包免费下载及安装教程

ArcGIS 10.8安装教程

qq_44894692的博客 2万+

CMOS锁相环核心:四种鉴频鉴相器(PFD)结构深度剖析与选型指南

本文深入剖析了CMOS锁相环中四种鉴频鉴相器(PFD)的结构与性能,包括传统RS触发器型、非时钟型、预充电型和边沿触发型PFD。通过详细的电路分析、实测数据和工程案例,提供了PFD选型的实用指南,帮助工程师根据速度、功耗和精度需求选择最优方案,提升锁相环设计效率。

weixin_42530458的博客 588

【PAT B1015】德才论 (c语言)//答案正确

所有的错误只是为了正确,如果不是这个结果,那就是遗憾 这道提做了很长时间,我不会用什么函数,自能自己徒手写代码,每一步必须清楚,不然就会有错。 注意:第三类是德分不低于才分,即德分>=才分 思路: 用两个长度为最大人数(N)的数组,第一个数组储存第一类和第二类考生,第一类考生从数组最左端开始储存,第二类考生从数组最后端开始储存,第三、四类一样,也这样储存。然后用快速排序,之后输出。 数组的...

AFANTI_JK的博客 667

Orin+ GMSL (Ser 9295+Des 9296)流程分析(1)

orin gmsl

乐于分享 2663

PAT-A1062

#include #include #include using namespace std; struct people{ char id[16]; int tanlent; int vietue; int clas; }peo[100010]; bool cmp(people a, people b){ if( a.clas!=b.clas )return a.clas<b.clas

qq_2918的博客 358

Java调用OpenDDS(2)-理解OpenDDS自带的Messager示例

理解Messenger

zhangzl419 1660

duilib 之 事件--bubbled冒泡事件应用、通用点击事件、进入离开事件、XML样式中直接添加事件

1. box 绑定点击事件 ui::Box *pSmallVideoBox = (ui::Box*)FindControl(L"rightBox"); if (pSmallVideoBox) { auto SwitchVideo = [this](ui::EventArgs* param){ m_bSecScreenIsScale = m_bMainScre...

目前打算换一个工作,有招聘windows c++方向的也欢迎联系,北京、济南 最好 973

PAT 乙级题目讲解:1015《德才论》

本文详细讲解了 PAT 乙级 1015《德才论》的解题思路与代码实现。题目以司马光的“德才论”为背景,要求将考生按德分与才分划分为圣人、君子、小人、愚人四类,并在各类内部按总分、德分、准考证号三级排序输出。文章涵盖了分类判断、自定义排序函数、完整 C++ 代码、常见错误提醒及复杂度分析,适合作为结构体排序与多条件比较的模板练习。

qq_35624947的博客 652

(三十九)Flask 多应用架构(Multiple Apps)与 DispatcherMiddleware 实战解析

(三十九)Flask 多应用架构(Multiple Apps)与 DispatcherMiddleware 实战解析

孤寒者的博客 1万+

PAT B1015. 德才论

宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。” 现给出一批考生的德才分数,请根据司马光的理论给出录取排名。 输入格式: 输入第1行给出3个正整数,分别为:N(5),即考生总数;L(>=60),为录取最低分数线,即德分和才分均不低于L的考

crazyliu的博客 355

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

PAT B1015

1015. 德才论 (25) 宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。” 现给出一批考生的德才分数,请根据司马光的理论给出录取排名。 输入格式: 输入第1行给出3个正整数,分别为:N(5),即考生总数;L(>=60),为录取最

dancheng1的博客 369

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

PAT B1015 德才论

原题链接:点击打开链接重点是比较函数cmp的写法,写得不好会写很多复杂的代码。还有就是要先排除下界,从而避免判断1、2、3、4类考生时判断条件太多而超时。也要注意输出最好用printf,cout可能会超时#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;algorithm&gt; #include &lt;stdio.h&...

qq_38104860的博客 238

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

模拟【PAT B1015】德才论 (25 分)

1015德才论(25分) 宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。” 现给出一批考生的德才分数,请根据司马光的理论给出录取排名。 输入格式: 输入第一行给出 3 个正整数,分别为:N(≤10​5​​),即考生总数;L(≥60),为录取...

tqlwsl的博客 325

PAT(B.1015 德才论)

#include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;vector&gt; using namespace std; struct node { int num, de, cai; }; int cmp(struct node a, struct node b) { if ((a.de + a.cai...

ljz2015301785的博客 296

[PAT-乙级]B1015 德才论(25 分)

PAT:B1015 德才论(25 分) 宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。” 现给出一批考生的德才分数,请根据司马光的理论给出录取排名。 输入格式: 输入第一行给出 3 个正整数,分别为:N(≤10​5​​),即考生总数;L(≥60),...

Ecloss 312

【PAT】B1015 运行超时问题

今天写B1015的时候代码总是通不过,有三个点超时,如下:开始还以为是自己什么地方没有考虑周全,陷入死循环,但是找了好久没有找出问题,后来问了98,、问了同学、查了资料发现是自己写的冒泡算法运行的太慢了,导致代码超时,于是去学习了一下sort函数,sort(a.begin(), b.begin(), 排列方法);原来费劲脑汁想出来的题目用sort函数10分钟就写完了,强烈建议学习sort函数,不仅...

木风不是枫 5843

PAT b1011-b1015题解

一、b1011 #include int main(){ int T, tcase = 1; scanf("%d", &T); while(T--){ long long a, b, c; scanf("%lld%lld%lld", &a, &b, &c); if(a + b > c){ printf("Case #%d: true\n", tcase++); }

Tang's学习笔记 457

【C++】浙大PAT (Basic Level)1014. 福尔摩斯的约会 (20)

1014. 福尔摩斯的约会 (20) 时间限制 50 ms 内存限制 32000 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧!3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d

artemisrj的专栏 1275

B1015

#include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;cstring&gt; #include&lt;string&gt; #include&lt;algorithm&gt; using namespace std; const int maxn=100010; struct Student{     int id;     in...

fengwuyaQAQ的博客 365

PAT 自学题解 B 1015/A 1062

sort 的初步应用,注意分类讨论,标志位 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; struct Stu { char id[15]={0}; int d=0,c=0; int flag=99;// 1 2 3 4 //int r=0;//名次 }stu[101000];.

weixin_54868899的博客 160

PAT B1015 德才论 (25分)

宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。” 现给出一批考生的德才分数,请根据司马光的理论给出录取排名。 输入格式: 输入第一行给出 3 个正整数,分别为:N(≤10​5​​),即考生总数;L(≥60),为录取最低分数线,即德分和才分均不低于 L 的考...

qq_42347617的博客 304
上一篇: 【PAT】B1014. 福尔摩斯的约会(题目理解,输出格式)
下一篇: 【MachineLearing】判别模型与生成模型以及相关概率统计知识
timsooo
博客等级 码龄11年 16粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值