知识点

  • 构造sort的排序函数时,string类型可直接比较大小
  • 面对函数的栈器存储空间有限,当出现栈溢出问题时,可将变量命名为全局变量。
  • 测试点2、3、4错误的原因,第一次误以为是由于数据过大,导致long long类型溢出,无法成功比较大小,然换成string后问题依旧,仔细排查后第三类人的判断出了问题,正确语句如下
  • stu[i].virture >= L && stu[i].talent >= L && stu[i].virture >= stu[i].talent
  • 代码可以继续精简,如一开始就可以进行分类,无需先用stu进行存储浪费存储空间,此外,cmp函数部分可以写的更为简洁
/*
* PAT (Basic Level) Practice (中文)
* 1015 德才论 (25分)
* 2021.1.13
* 主要考察sort的用法
*/
# include<iostream>
# include<algorithm>
using namespace std;
struct student {long long id;int virture;int talent;
}stu[100001];
void output(student out[100001], int num) {for (int i = 0; i < num; i++) {cout << out[i].id << " " << out[i].virture << " " << out[i].talent << endl;}
}bool cmp(student x, student y) {if (x.talent + x.virture > y.talent + y.virture)return true;else if (x.talent + x.virture == y.talent + y.virture) {if (x.virture > y.virture)return true;else if (x.virture == y.virture) {if (x.id < y.id)return true;elsereturn false;}elsereturn false;}elsereturn false;
}int main() {int N, L, H;cin >> N >> L >> H;int out_num = 0;  // 用于输出及格人数的变量// 录入考生信息,进行处理for (int i = 0; i < N; i++) {cin >> stu[i].id >> stu[i].virture >> stu[i].talent;if (stu[i].virture >= L && stu[i].talent >= L)out_num++;else {i--;  //由于输出时,无需不及格的学生,故直接用i--的方式覆盖掉N--;}            }int cnt[4] = { 0 }; // 分类学生时所用计数器student stu1[100001], stu2[100001], stu3[100001], stu4[100001];for (int i = 0; i < out_num; i++) {if (stu[i].virture >= H && stu[i].talent >= H) {stu1[cnt[0]].id = stu[i].id;stu1[cnt[0]].virture = stu[i].virture;stu1[cnt[0]].talent = stu[i].talent;cnt[0]++;}else if (stu[i].virture >= H && stu[i].talent >= L) {stu2[cnt[1]].id = stu[i].id;stu2[cnt[1]].virture = stu[i].virture;stu2[cnt[1]].talent = stu[i].talent;cnt[1]++;}else if (stu[i].virture >= L && stu[i].talent >= L && stu[i].virture >= stu[i].talent) {stu3[cnt[2]].id = stu[i].id;stu3[cnt[2]].virture = stu[i].virture;stu3[cnt[2]].talent = stu[i].talent;cnt[2]++;}else {stu4[cnt[3]].id = stu[i].id;stu4[cnt[3]].virture = stu[i].virture;stu4[cnt[3]].talent = stu[i].talent;cnt[3]++;}}sort(stu1, stu1 + cnt[0], cmp);sort(stu2, stu2 + cnt[1], cmp);sort(stu3, stu3 + cnt[2], cmp);sort(stu4, stu4 + cnt[3], cmp);cout << out_num << endl;output(stu1, cnt[0]);output(stu2, cnt[1]);output(stu3, cnt[2]);output(stu4, cnt[3]);return 0;
}

PTA 1015 德才论 (25分) ,满分代码 + 测试点报错解决相关推荐

  1. C++学习之路 | PTA乙级—— 1015 德才论 (25分)(精简)

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

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

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

  3. Windows11华为eNSP模拟器 AR1路由器启动代码40 报错解决办法之一

    fafa eNSP的交换机,路由器的启动都要依赖于Virtualbox虚拟环境才行启动运行. 如果你的eNSP,路由器AR1启动报错40代码.去Virtualbox 随便启动一个如下图红框 可以启动就 ...

  4. 想满分的看这里:1015 德才论 (25分)

    立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 宋代史学家司马光在<资治通鉴>中有一段著名的"德才论":"是故才德全尽 ...

  5. 【PAT (Basic Level) 】1015 德才论 (25 分)

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

  6. 1015 德才论 (25 分)(c语言)

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

  7. 1015 德才论 (25 分)

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

  8. 【PAT乙级】 1015 德才论 (25 分)

    https://pintia.cn/problem-sets/994805260223102976/problems/994805307551629312 第一类 都过线了 总分排序 第二类 德过才不 ...

  9. 1015 德才论 (25分)

    输入样例: 14 60 80 10000001 64 90 10000002 90 60 10000011 85 80 10000003 85 80 10000004 80 85 10000005 8 ...

最新文章

  1. 【干货】105页周志华教授《机器学习手推公式》开源PDF
  2. python自动测试p-python自动化测试_8
  3. Mysql日期差函数,Mysql选择两个日期字段相差大于或小于一定时间
  4. AC自动机解决字符集很大的情况(可持久化数组优化getfail的过程)
  5. python locust 能压测数据库_python locust 性能测试:HOOKS钩子方法
  6. shell-awk详细笔记
  7. 2019.7.31正则
  8. 此版本的visual studio无法打开下列项目_深度学习实现高精度钢琴曲转谱Piano transcription项目简明使用教程...
  9. c语言英文背单词软件下载,英语背单词软件
  10. 汉诺塔问题的总结(1)
  11. 中兴a2018拆机图片_中兴a2s拆机视频
  12. 硝烟中的 Scrum 和 XP-我们如何实施 Scrum
  13. 宝宝为什么不吃奶粉,奶爸必读文章
  14. 如何清理网易云无损flac格式留下的注释163key(Don't Modify):.........等牛皮癣?
  15. SUCTF2019-hardCPP WP
  16. Python爬虫--喜马拉雅音频爬取
  17. 熊猫烧香病毒完整解决方案
  18. 亚马逊中关于店铺广告设定的介绍
  19. android 来电解锁,带你解锁手机隐藏黑科技,极少人知道!
  20. CSSJS弹出层效果,兼容所有浏览器

热门文章

  1. ES系统封装教程 高级进阶版 提供Wind7,xp系统下载 (by 星空武哥)
  2. AcWing 1143. 联络员
  3. 【安全】XSS安全漏洞与CSRF攻击
  4. 树洞外链网盘系统php源码去除底部版权优化版
  5. linux无线通用驱动程序,CentOS 安装 Broadcom BCM43225 无线网卡驱动程序
  6. vscode php中文乱码,vscode打开乱码怎么办
  7. 关于计算机语言的知识正确的是,2019微软认证考试精选模拟题及答案(1.17)
  8. UE4 如何防止overlap事件调用两次
  9. shell 知:awk
  10. 对于iPhone5分辨率兼容性调整问题