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

1015 德才论 (25分)

宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”
现给出一批考生的德才分数,请根据司马光的理论给出录取排名。
输入格式:

输入第一行给出 3 个正整数,分别为:N(≤10
​5
​​ ),即考生总数;L(≥60),为录取最低分数线,即德分和才分均不低于 L 的考生才有资格被考虑录取;H(<100),为优先录取线——德分和才分均不低于此线的被定义为“才德全尽”,此类考生按德才总分从高到低排序;才分不到但德分到线的一类考生属于“德胜才”,也按总分排序,但排在第一类考生之后;德才分均低于 H,但是德分不低于才分的考生属于“才德兼亡”但尚有“德胜才”者,按总分排序,但排在第二类考生之后;其他达到最低线 L 的考生也按总分排序,但排在第三类考生之后。
随后 N 行,每行给出一位考生的信息,包括:准考证号 德分 才分,其中准考证号为 8 位整数,德才分为区间 [0, 100] 内的整数。数字间以空格分隔。
输出格式:

输出第一行首先给出达到最低分数线的考生人数 M,随后 M 行,每行按照输入格式输出一位考生的信息,考生按输入中说明的规则从高到低排序。当某类考生中有多人总分相同时,按其德分降序排列;若德分也并列,则按准考证号的升序输出。
输入样例:

14 60 80
10000001 64 90
10000002 90 60
10000011 85 80
10000003 85 80
10000004 80 85
10000005 82 77
10000006 83 76
10000007 90 78
10000008 75 79
10000009 59 90
10000010 88 45
10000012 80 100
10000013 90 99
10000014 66 60

看了柳神的代码后进行的优化

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
struct student {int id;int d;int c;
};
bool cmp(student s1, student s2)//自定义的sort排序
{if (s1.d + s1.c != s2.d + s2.c)return s1.d + s1.c > s2.d + s2.c;//德才总分降序else if (s1.d != s2.d)return s1.d > s2.d;//德分降序排列else return s1.id < s2.id;//准考证号的升序
}
int main()
{int N, L, H, count = 0;//人数,低分数线,高分数线,总人数vector<student>v[4];//分别用四个数组存储不同类别的学生cin >> N >> L >> H;student stu;for (int i = 0; i < N; i++){cin >> stu.id >> stu.d >> stu.c;if (stu.d >= L && stu.c >= L){if (stu.d >= H && stu.c >= H)//才德全尽v[0].push_back(stu);else if (stu.d >= H && stu.c < H)//德胜才v[1].push_back(stu);else if (stu.d < H && stu.c < H && stu.d >= stu.c)//才德兼亡v[2].push_back(stu);else//剩下的v[3].push_back(stu);count++;}}cout << count << endl;for (int i = 0; i < 4; i++) {sort(v[i].begin(), v[i].end(), cmp);for (int j = 0; j < v[i].size(); j++)printf("%d %d %d\n", v[i][j].id, v[i][j].d, v[i][j].c);}
}

#自己的渣渣代码

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
struct student {int id;int d;int c;
};
bool cmp(student s1, student s2)
{if (s1.d + s1.c != s2.d + s2.c)return s1.d + s1.c > s2.d + s2.c;else if (s1.d != s2.d)return s1.d > s2.d;else return s1.id < s2.id;
}
int main()
{int N, L, H,count=0;vector<student>v1, v2, v3, v4;cin >> N >> L >> H;student stu;for (int i = 0; i < N; i++){cin >> stu.id >> stu.d >> stu.c;if (stu.d >= L && stu.c >= L){if (stu.d >= H && stu.c >= H)v1.push_back(stu);else if (stu.d >= H && stu.c < H)v2.push_back(stu);else if (stu.d < H && stu.c<H && stu.d>=stu.c)v3.push_back(stu);elsev4.push_back(stu);count++;}}sort(v1.begin(), v1.end(), cmp);sort(v2.begin(), v2.end(), cmp);sort(v3.begin(), v3.end(), cmp);sort(v4.begin(), v4.end(), cmp);cout << count << endl;for (int i = 0; i < v1.size(); i++)printf("%d %d %d\n", v1[i].id, v1[i].d, v1[i].c);for (int i = 0; i < v2.size(); i++)printf("%d %d %d\n", v2[i].id, v2[i].d, v2[i].c);for (int i = 0; i < v3.size(); i++)printf("%d %d %d\n", v3[i].id, v3[i].d, v3[i].c);for (int i = 0; i < v4.size(); i++)printf("%d %d %d\n", v4[i].id, v4[i].d, v4[i].c);}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/497207.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DeepMind推出分布式深度强化学习架构IMPALA,让一个Agent学会多种技能

维金 编译自 DeepMind Blog量子位 出品 | 公众号 QbitAI目前&#xff0c;深度增强学习&#xff08;DeepRL&#xff09;技术在多种任务中都大获成功&#xff0c;无论是机器人的持续控制问题&#xff0c;还是掌握围棋和雅达利的电子游戏。不过&#xff0c;这些方面的进展仅限于孤…

JSR 303 - Bean Validation与Hibernate Validation 介绍

一、介绍 在应用程序中&#xff0c;通过使用 Bean Validation 或是你自己定义的 constraint&#xff0c;例如 NotNull, Max, ZipCode&#xff0c; 就可以确保数据模型&#xff08;JavaBean&#xff09;的正确性。constraint 可以附加到字段&#xff0c;getter 方法&#xff0c;…

[导入]韩语基本会话

韩语基本会话韩语原文 读法中文谐音中文翻译 네.(예.) Ne.(ye.)呢/也 是 아니오 Anio啊里哟 不是 여보세요 Yeoboseyo哟而波塞哟 喂 안녕하세요 Annyeong-haseyo安泥哈塞哟 你好 안녕히 계세요 Annyong-hi gyeseyo安泥黑给塞哟 再见 안녕히 가세요 Annyeong-hi gaseyo安泥黑卡…

AAAI2018正式落幕 13个世界顶尖AI教授都讲了啥?

来源&#xff1a;智东西概要&#xff1a;2月8日消息&#xff0c;第32届AAAI大会在美国新奥尔良正式闭幕。2月8日消息&#xff0c;第32届AAAI大会在美国新奥尔良正式闭幕。本次大会不仅颁发了最佳论文奖、最佳学生论文奖、经典论文将等一系列奖项。作为顶级学术会议之一&#xf…

C++学习之路 | PTA乙级—— 1016 部分A+B (15分)(精简)

1016 部分AB (15分) 正整数 A 的“D ​A ​​ &#xff08;为 1 位整数&#xff09;部分”定义为由 A 中所有 D ​A ​​ 组成的新整数 P ​A ​​ 。例如&#xff1a;给定 A3862767&#xff0c;D ​A ​​ 6&#xff0c;则 A 的“6 部分”P ​A ​​ 是 66&#xff0c;因为 A…

Linux 中 VIM 的使用

Vim 官网&#xff1a;http://www.vim.org/ VIM 实用技巧&#xff1a;https://wenku.baidu.com/view/21c5f387d4d8d15abe234ecb.html vim 的一些小技巧&#xff1a;https://www.douban.com/group/topic/1815089 vim 简单实用的技巧总结&#xff1a;http://www.tuicool.com/arti…

Pull Up Method(函数上移)

有些函数&#xff0c;在各个子类中产生完全相同的结果 重构&#xff1a;将该函数移至超类

使用帮助

帮助转载于:https://www.cnblogs.com/chrisdong/archive/2006/12/06/1642478.html

重磅 | 中国工程院提出新一代智能制造【附下载】

来源&#xff1a;走向智能论坛近日&#xff0c;中国工程院院刊《Engineering》推出最新观点性文章“走向新一代智能制造”&#xff0c;作者周济、李培根、周艳红等&#xff0c;文章指出智能制造是一个不断演进发展的大概念&#xff0c;可归纳为三个基本范式&#xff1a;数字化制…

C++学习之路 | PTA乙级—— 1017 A除以B (20分)(精简)

1017 A除以B (20分) 本题要求计算 A/B&#xff0c;其中 A 是不超过 1000 位的正整数&#xff0c;B 是 1 位正整数。你需要输出商数 Q 和余数 R&#xff0c;使得 ABQR 成立。 输入格式&#xff1a; 输入在一行中依次给出 A 和 B&#xff0c;中间以 1 空格分隔。 输出格式&…

Python 装饰器 函数

Python装饰器学习&#xff08;九步入门&#xff09;&#xff1a;http://www.cnblogs.com/rhcad/archive/2011/12/21/2295507.html 浅谈Python装饰器&#xff1a;https://blog.csdn.net/mdl13412/article/details/22608283 Python装饰器与面向切面编程&#xff1a;http://www.cn…

轻松学DIV教程(div+css布局)

我爱棒棒糖&#xff01; 你正在学习CSS布局吗&#xff1f;是不是还不能完全掌握纯CSS布局&#xff1f;通常有两种情况阻碍你的学习&#xff1a;第一种可能是你还没有理解CSS处理页面的原理。在你考虑你的页面整体表现效果前&#xff0c;你应当先考虑内容的语义和结构&#xff0…

Pull Up Constructor Body(构造函数本体上移)

各个子类中拥有一些构造函数&#xff0c;它们的本体几乎完全一致 public class Manager extends Employee {public Manager(String name, String id, int grade) {this.name name;this.id id;this.grade grade;} } 重构&#xff1a;在超类中新建一个构造函数&#xff0c;并…

Homepod评测:一款音质超棒但低智商的音箱

来源&#xff1a;The Verge今天&#xff0c;让我们再近距离看看Homepod这款明星产品吧。Homepod拥有卓越的音质HomePod的电源线内置并包裹在面料中&#xff0c;顶部有LED背光音量按钮和一个“显示屏”。之所以打引号是因为它不是真正意义上的显示屏&#xff0c;而是一块LED。它…

C++学习之路 | PTA乙级—— 1018 锤子剪刀布 (20分)(精简)

1018 锤子剪刀布 (20分) 大家应该都会玩“锤子剪刀布”的游戏&#xff1a;两人同时给出手势&#xff0c;胜负规则如图所示&#xff1a; FigCJB.jpg 现给出两人的交锋记录&#xff0c;请统计双方的胜、平、负次数&#xff0c;并且给出双方分别出什么手势的胜算最大。 输入格式&…

你是否依然会想我?

你是否依然会想我?——代腾飞 2006年11月30日 于成都曾经的风花雪月&#xff0c;曾经的浪漫情怀早也被那无情的岁月摧残得遍体鳞伤曾经的甜言蜜语&#xff0c;曾经的情意衷肠早也随那凌厉的寒风吹向九霄云外你那倾国倾城的绝世容颜与我盖世无双的聪明才智曾经演绎了名垂千古…

Python 生成器 和 yield 关键字

Python 中 yield 的作用&#xff1a;http://youchen.me/2017/02/10/Python-What-does-yield-do/# Python 生成器详解&#xff1a;http://codingpy.com/article/python-generator-notes-by-kissg/#generator Python yield与实现&#xff1a;http://www.cnblogs.com/coder2012/p/…

Extract Subclass(提炼子类)

类中的某些特性只被某些实例用到 重构&#xff1a;新建一个子类&#xff0c;将一部分特性搬移到子类中

从上市公司数据读懂我国新兴产业发展态势

来源&#xff1a;新软件 ccidsaism在全球新一轮科技革命和产业变革中&#xff0c;大数据、物联网、区块链、量子通信、人工智能、机器人、可穿戴设备、新材料等新兴领域展现出巨大的发展潜力&#xff0c;极有可能对未来产业格局和市场产生决定性影响。这些领域的上市公司已成为…

C++学习之路 | PTA乙级—— 1019 数字黑洞 (20分)(精简)

1019 数字黑洞 (20分) 给定任一个各位数字不完全相同的 4 位正整数&#xff0c;如果我们先把 4 个数字按非递增排序&#xff0c;再按非递减排序&#xff0c;然后用第 1 个数字减第 2 个数字&#xff0c;将得到一个新的数字。一直重复这样做&#xff0c;我们很快会停在有“数字…