PAT-B 1015. 德才论(同PAT 1062. Talent and Virtue)
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)相关推荐
- PAT乙 1015 德才论 C++
PAT乙 1015 德才论 C++ 题目 宋代史学家司马光在<资治通鉴>中有一段著名的"德才论":"是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才 ...
- PAT甲级1062 Talent and Virtue:[C++题解]结构体、哈希表
文章目录 题目分析 题目来源 题目分析 来源:acwing 分析: 分4个vector,单独排序即可. ac代码 #include<bits/stdc++.h> using namespa ...
- PAT 甲级 1062 Talent and Virtue
1062 Talent and Virtue 题目大意:给出一组人数,按照要求分类再排序输出.圣人是virtue和talent都超过h的人,君子是virtue超过h并且talent位于[l,h)区间内 ...
- 1062 Talent and Virtue (25 分)
1062 Talent and Virtue (25 分) 题意 先给出三个数N(成员人数),L(及格线),H(优秀线) 给出一组成员信息,包括id,品德,才能,给这组成员排序. 当该成员品德和才能都 ...
- 1062 Talent and Virtue 25
1062 Talent and Virtue 25 题目链接:A1062 Talent and Virtue 25 问题思路 我尝试了两种思路: 根据每个人的分数确定其是哪个级别(rank)的人,以总 ...
- PAT 乙级 1015 德才论 (25 分)
1015 德才论 (25 分) 宋代史学家司马光在<资治通鉴>中有一段著名的"德才论":"是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小 ...
- 1062. Talent and Virtue (25)-PAT甲级真题
About 900 years ago, a Chinese philosopher Sima Guang wrote a history book in which he talked about ...
- PAT甲级1062 Talent and Virtue
About 900 years ago, a Chinese philosopher Sima Guang wrote a history book in which he talked about ...
- 1062 Talent and Virtue (25 分)(坑点分析)
About 900 years ago, a Chinese philosopher Sima Guang wrote a history book in which he talked about ...
最新文章
- [scrum]2011/9/22-----第二天
- JavaScript中的nodeName nodeType nodeValue区别
- SAP MM 盘点单中‘AUn’标记的作用?
- !--#include virtual='head.html'--代码复用
- 神奇!C语言还可以这样用来仿真
- 信息系统状态过程图_过程状态图中使用的重要术语| 操作系统
- android EditText使用详解,29.Android EditText使用详解
- 曲线拟合的线性最小二乘法
- 从数据库查询出来的数据集合转换成 json 类型
- Oracle数据库创建表空间
- NP、OSPF邻居邻接关系
- SpringBoot系列(2):SpringBoot集成单机版Redis
- 怎么样把书上的字很快的弄成电子版,哈哈,我也会了
- 图灵科普数学宝藏书单|购书狂欢618倒计时,这份书单闭眼入
- SitePoint Podcast#167:炉边聊天
- Photoshop CS6 MAC 中文版破解版 支持Retina屏
- 微信网页授权校验文件
- dotnetfx35.exe
- revit常用出图软件实现【本层三维】,生成本楼层标高范围
- PowerDesigner设计MySQL表结构转SQLServer问题
热门文章
- 每天一道LeetCode-----求一个数的n次方,n是很大很大的数,n用数组存储着
- keepalived(8)——http、tcp检测
- LVS(3)——针对于真实主机的增删改操作
- 解决 LLVM 错误 fatal error: ‘csignal’ file not found
- CF-825 G.Tree Queries(DFS)
- HDU -2243 考研路茫茫——单词情结(AC自动机+矩阵快速幂)
- mysql 新建数据库
- linux tar.gz文件安装
- 怎样进入服务器修改东西,进入服务器修改数据库
- nodejs如何实现ajax,nodejs使用静态服务器处理ajax