PTA 1015 德才论 (25分) ,满分代码 + 测试点报错解决
知识点
- 构造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分) ,满分代码 + 测试点报错解决相关推荐
- C++学习之路 | PTA乙级—— 1015 德才论 (25分)(精简)
1015 德才论 (25分) 宋代史学家司马光在<资治通鉴>中有一段著名的"德才论":"是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人 ...
- PAT 乙级 1015 德才论 (25 分)
1015 德才论 (25 分) 宋代史学家司马光在<资治通鉴>中有一段著名的"德才论":"是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小 ...
- Windows11华为eNSP模拟器 AR1路由器启动代码40 报错解决办法之一
fafa eNSP的交换机,路由器的启动都要依赖于Virtualbox虚拟环境才行启动运行. 如果你的eNSP,路由器AR1启动报错40代码.去Virtualbox 随便启动一个如下图红框 可以启动就 ...
- 想满分的看这里:1015 德才论 (25分)
立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 宋代史学家司马光在<资治通鉴>中有一段著名的"德才论":"是故才德全尽 ...
- 【PAT (Basic Level) 】1015 德才论 (25 分)
宋代史学家司马光在<资治通鉴>中有一段著名的"德才论":"是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人.凡取人之术,苟不得圣人,君子 ...
- 1015 德才论 (25 分)(c语言)
宋代史学家司马光在<资治通鉴>中有一段著名的"德才论":"是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人.凡取人之术,苟不得圣人,君子 ...
- 1015 德才论 (25 分)
宋代史学家司马光在<资治通鉴>中有一段著名的"德才论":"是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人.凡取人之术,苟不得圣人,君子 ...
- 【PAT乙级】 1015 德才论 (25 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805307551629312 第一类 都过线了 总分排序 第二类 德过才不 ...
- 1015 德才论 (25分)
输入样例: 14 60 80 10000001 64 90 10000002 90 60 10000011 85 80 10000003 85 80 10000004 80 85 10000005 8 ...
最新文章
- 【干货】105页周志华教授《机器学习手推公式》开源PDF
- python自动测试p-python自动化测试_8
- Mysql日期差函数,Mysql选择两个日期字段相差大于或小于一定时间
- AC自动机解决字符集很大的情况(可持久化数组优化getfail的过程)
- python locust 能压测数据库_python locust 性能测试:HOOKS钩子方法
- shell-awk详细笔记
- 2019.7.31正则
- 此版本的visual studio无法打开下列项目_深度学习实现高精度钢琴曲转谱Piano transcription项目简明使用教程...
- c语言英文背单词软件下载,英语背单词软件
- 汉诺塔问题的总结(1)
- 中兴a2018拆机图片_中兴a2s拆机视频
- 硝烟中的 Scrum 和 XP-我们如何实施 Scrum
- 宝宝为什么不吃奶粉,奶爸必读文章
- 如何清理网易云无损flac格式留下的注释163key(Don't Modify):.........等牛皮癣?
- SUCTF2019-hardCPP WP
- Python爬虫--喜马拉雅音频爬取
- 熊猫烧香病毒完整解决方案
- 亚马逊中关于店铺广告设定的介绍
- android 来电解锁,带你解锁手机隐藏黑科技,极少人知道!
- CSSJS弹出层效果,兼容所有浏览器
热门文章
- ES系统封装教程 高级进阶版 提供Wind7,xp系统下载 (by 星空武哥)
- AcWing 1143. 联络员
- 【安全】XSS安全漏洞与CSRF攻击
- 树洞外链网盘系统php源码去除底部版权优化版
- linux无线通用驱动程序,CentOS 安装 Broadcom BCM43225 无线网卡驱动程序
- vscode php中文乱码,vscode打开乱码怎么办
- 关于计算机语言的知识正确的是,2019微软认证考试精选模拟题及答案(1.17)
- UE4 如何防止overlap事件调用两次
- shell 知:awk
- 对于iPhone5分辨率兼容性调整问题