1. 在排序的过程中,注意边界的处理(小于、小于等于)

2. 对于B-level,这题是比較麻烦一些了。

源代码:

#include <cstdio>
#include <vector>
#include <algorithm>using namespace std;struct People
{int m_id;int m_virtue;int m_talent;People(int id, int virtue, int talent): m_id(id), m_virtue(virtue), m_talent(talent) {}void print(){printf("%08d %d %d\n", m_id, m_virtue, m_talent);}friend bool operator< (const People& a, const People& b){if (a.m_virtue+a.m_talent != b.m_virtue+b.m_talent){return a.m_virtue+a.m_talent > b.m_virtue+b.m_talent;} else if (a.m_virtue != b.m_virtue){return a.m_virtue > b.m_virtue;} else {return a.m_id < b.m_id;}}
};vector<People> sage, noble_man, fool_man, small_man;
int n, l, h;
int id, virtue, talent;int main()
{scanf("%d%d%d", &n, &l, &h);for (int i = 0; i < n; ++ i){scanf("%d%d%d", &id, &virtue, &talent);if (virtue < l || talent < l){continue;} else if (virtue >= h && talent >= h){sage.push_back( People(id, virtue, talent) );} else if (virtue  >= h){noble_man.push_back( People(id, virtue, talent) );} else if (virtue >= talent){fool_man.push_back( People(id, virtue, talent) );} else{small_man.push_back( People(id, virtue, talent) );}}sort(sage.begin(), sage.end());sort(noble_man.begin(), noble_man.end());sort(fool_man.begin(), fool_man.end());sort(small_man.begin(), small_man.end());printf("%d\n", sage.size() + noble_man.size() + fool_man.size() + small_man.size());for (size_t i = 0; i < sage.size(); ++ i){sage[i].print();}for (size_t i = 0; i < noble_man.size(); ++ i){noble_man[i].print();}for (size_t i = 0; i < fool_man.size(); ++ i){fool_man[i].print();}for (size_t i = 0; i < small_man.size(); ++ i){small_man[i].print();}return 0;
}

转载于:https://www.cnblogs.com/ldxsuanfa/p/10043004.html

PAT-B 1015. 德才论(同PAT 1062. Talent and Virtue)相关推荐

  1. PAT乙 1015 德才论 C++

    PAT乙 1015 德才论 C++ 题目 宋代史学家司马光在<资治通鉴>中有一段著名的"德才论":"是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才 ...

  2. PAT甲级1062 Talent and Virtue:[C++题解]结构体、哈希表

    文章目录 题目分析 题目来源 题目分析 来源:acwing 分析: 分4个vector,单独排序即可. ac代码 #include<bits/stdc++.h> using namespa ...

  3. PAT 甲级 1062 Talent and Virtue

    1062 Talent and Virtue 题目大意:给出一组人数,按照要求分类再排序输出.圣人是virtue和talent都超过h的人,君子是virtue超过h并且talent位于[l,h)区间内 ...

  4. 1062 Talent and Virtue (25 分)

    1062 Talent and Virtue (25 分) 题意 先给出三个数N(成员人数),L(及格线),H(优秀线) 给出一组成员信息,包括id,品德,才能,给这组成员排序. 当该成员品德和才能都 ...

  5. 1062 Talent and Virtue 25

    1062 Talent and Virtue 25 题目链接:A1062 Talent and Virtue 25 问题思路 我尝试了两种思路: 根据每个人的分数确定其是哪个级别(rank)的人,以总 ...

  6. PAT 乙级 1015 德才论 (25 分)

    1015 德才论 (25 分) 宋代史学家司马光在<资治通鉴>中有一段著名的"德才论":"是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小 ...

  7. 1062. Talent and Virtue (25)-PAT甲级真题

    About 900 years ago, a Chinese philosopher Sima Guang wrote a history book in which he talked about ...

  8. PAT甲级1062 Talent and Virtue

    About 900 years ago, a Chinese philosopher Sima Guang wrote a history book in which he talked about ...

  9. 1062 Talent and Virtue (25 分)(坑点分析)

    About 900 years ago, a Chinese philosopher Sima Guang wrote a history book in which he talked about ...

最新文章

  1. [scrum]2011/9/22-----第二天
  2. JavaScript中的nodeName nodeType nodeValue区别
  3. SAP MM 盘点单中‘AUn’标记的作用?
  4. !--#include virtual='head.html'--代码复用
  5. 神奇!C语言还可以这样用来仿真
  6. 信息系统状态过程图_过程状态图中使用的重要术语| 操作系统
  7. android EditText使用详解,29.Android EditText使用详解
  8. 曲线拟合的线性最小二乘法
  9. 从数据库查询出来的数据集合转换成 json 类型
  10. Oracle数据库创建表空间
  11. NP、OSPF邻居邻接关系
  12. SpringBoot系列(2):SpringBoot集成单机版Redis
  13. 怎么样把书上的字很快的弄成电子版,哈哈,我也会了
  14. 图灵科普数学宝藏书单|购书狂欢618倒计时,这份书单闭眼入
  15. SitePoint Podcast#167:炉边聊天
  16. Photoshop CS6 MAC 中文版破解版 支持Retina屏
  17. 微信网页授权校验文件
  18. dotnetfx35.exe
  19. revit常用出图软件实现【本层三维】,生成本楼层标高范围
  20. PowerDesigner设计MySQL表结构转SQLServer问题

热门文章

  1. 每天一道LeetCode-----求一个数的n次方,n是很大很大的数,n用数组存储着
  2. keepalived(8)——http、tcp检测
  3. LVS(3)——针对于真实主机的增删改操作
  4. 解决 LLVM 错误 fatal error: ‘csignal’ file not found
  5. CF-825 G.Tree Queries(DFS)
  6. HDU -2243 考研路茫茫——单词情结(AC自动机+矩阵快速幂)
  7. mysql 新建数据库
  8. linux tar.gz文件安装
  9. 怎样进入服务器修改东西,进入服务器修改数据库
  10. nodejs如何实现ajax,nodejs使用静态服务器处理ajax