PAT乙级Java实现_1015 德才论 (25) _附详细解题注释_15

1015 德才论 (25分)【Java题解】 题解 首先说明这题用java来做会超时T_T ,今天用java 类数组+Array.sort()敲了一套代码,发现会超时,然后看网上是用ArrayList 容器 我就把 数组改成容器来做 ,发现还是超时,最后用了C++来做,好家伙,C++的测试点4也快超时 怪不得java总是超时。 思路: 1.对人标记分类 (隐藏的 一级分类) 2.用compare() 多级排序,其对象带入sort中。 #include <bits/stdc++.h> using na... 阅读详情

1015 德才论 (25)(25 分)

宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”

现给出一批考生的德才分数,请根据司马光的理论给出录取排名。

输入格式:

输入第1行给出3个正整数,分别为:N(<=10^5^),即考生总数;L(>=60),为录取最低分数线,即德分和才分均不低于L的考生才有资格被考虑录取;H(<100),为优先录取线——德分和才分均不低于此线的被定义为“才德全尽”,此类考生按德才总分从高到低排序;才分不到但德分到线的一类考生属于“德胜才”,也按总分排序,但排在第一类考生之后;德才分均低于H,但是德分不低于才分的考生属于“才德兼亡”但尚有“德胜才”者,按总分排序,但排在第二类考生之后;其他达到最低线L的考生也按总分排序,但排在第三类考生之后。

随后N行,每行给出一位考生的信息,包括:准考证号、德分、才分,其中准考证号为8位整数,德才分为区间[0, 100]内的整数。数字间以空格分隔。

输出格式:

输出第1行首先给出达到最低分数线的考生人数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

输出样例:

12
10000013 90 99
10000012 80 100
10000003 85 80
10000011 85 80
10000004 80 85
10000007 90 78
10000006 83 76
10000005 82 77
10000002 90 60
10000014 66 60
10000008 75 79
10000001 64 90
作者: CHEN, Li
单位: PAT联盟
时间限制: 200ms
内存限制: 64MB
代码长度限制: 16KB

package pat_b;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.io.IOException;
public class PAB_B_1015 
{
	public static void main(String[] args) throws IOException
	{
		//用缓冲区会比较快
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		//读取第一行输入的数据
		String[] first = in.readLine().split("\\s+");
		int n = Integer.valueOf(first[0]);
		int pass = Integer.valueOf(first[1]);
		int good = Integer.valueOf(first[2]);
		
		People[] peoples = new People[n];//用来保存学生的情况
		int count = 0;//统计几个人数
		int num = 0,de = 0,cai = 0,ji = 5;//学号,德分,才分,等级
		
		for(int i = 0; i < n; i++)
		{
			String[] line = in.readLine().split("\\s+");//读取每个学生的情况
			num = Integer.valueOf(line[0]);
			de = Integer.valueOf(line[1]);
			cai = Integer.valueOf(line[2]);
			
			if(de >= good && cai >= good)//判断等级
				ji = 1;
			else if(de >= good && cai >= pass)
				ji = 2;
			else if(de >= pass && cai >= pass && de >= cai)
				ji = 3;
			else if(de >= pass && cai >= pass)
				ji = 4;
			else
				ji = 5;
			
			if(ji != 5)//及格数+1
				count++;
			
			peoples[i] = new People(num,de,cai,ji);//用来保存学生的情况
		}
		
		Arrays.sort(peoples);//调用系统自带的快排
		
		System.out.println(count);//输出答案
		for(int i = 0; i < n; i++)
		{
			if(peoples[i].ji != 5)//去掉不及格的
				System.out.println(peoples[i]);
		}
	}
}

class People implements Comparable<People>
{
	int num;
	int de;
	int cai;
	int ji;
	
	People(int num, int de, int cai, int ji)//构造函数
	{
		this.num = num;
		this.de = de;
		this.cai = cai;
		this.ji = ji;
	}

	@Override
	public int compareTo(People o) //比较函数
	{
		if(this.ji < o.ji)
			return -1;
		else if(this.ji > o.ji)
			return 1;
		else
		{
			if(this.de + this.cai > o.de + o.cai)
				return -1;
			else if(this.de + this.cai < o.de + o.cai)
				return 1;
			else
			{
				if(this.de > o.de)
					return -1;
				else if(this.de < o.de)
					return 1;
				else
				{
					if(this.num < o.num)
						return -1;
					else if(this.num > o.num)
						return 1;
					else
						return 0;
				}
			}
			
			
		}
	}
	
	public String toString()//按题目要求格式化输出
	{
		return "" + this.num + " " + this.de + " " + this.cai;
	}
	
}


牛客网通过,PAT还是超时了,即使没用Scanner

浙江大学PAT (Basic Level) Practice (中文)1015德才论JAVA实现代码及分析 1015 德才论 宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。” 现给出一批考生的德才分数,请根据司马光的理论给出录取排名。 输入格式: 输入第一行给出 3 个正整数,分别为:N(≤10^​5​​),即考生总数;L(≥60),为录取最低分数线,即德分和才... 阅读详情

相关推荐

PAT 1015 德才论 (25分)(Java)

题目描述   宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”   现给出一批考生的德才分数,请根据司马光的理论给出录取排名。 输入格式:   输入第一行给出 3 个正整数,分别为:N(≤10的5次方),即考生总数;L(≥60),为录取最低分数线,即德分和...

HenryLei的博客 2万+

PAT 1015 德才论(JAVA)

宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。” 现给出一批考生的德才分数,请根据司马光的理论给出录取排名。 输入格式: 输入第一行给出 3 个正整数,分别为:N(≤105),即考生总数;L(≥60),为录取最低分数线,即德分和才分均不低于 L 的考生才有...

qq_37774375的博客 1034

WIN下使用visual studio 2022安装GMSSL命令行工具

2.1 使用管理员权限打开visual studio(非常重要,否则最后一步 nmake install会失败)右键vs2022,以管理员身份运行即可。2.4 配置环境变量,gmssl可执行程序默认会被安装到如下目录。将如下路径添加到系统环境变量即可。添加后的环境变量如下。2.编译解压后的gmssl源码,编译过程主要参考install.md中的内容,README.md中的步骤不完整。2.2 打开vs2022的命令终端,右键文件,选择在终端中打开。1.下载gmssl源码,解压到相应目录。

qq_45794382的博客 1269

PAT1015 德才论 (25 分)

题目描述 宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。” 现给出一批考生的德才分数,请根据司马光的理论给出录取排名。 输入格式: 输入第一行给出 3 个正整数,分别为:N(≤10​5​​),即考生总数;L(≥60),为录取最低分数线,即德分和才分均不低于...

liuzuoping的博客 909

硬件学习笔记(器件篇)—— 磁珠与磁环

因为有这些差别,所有经常会让人们觉得他们并不是一类器件,但实际上他们的原理是一样的。我们使用磁珠是为了利用损耗消耗高频能量,所以如果我们理解了磁珠是如何消耗高频能量的,我们就能理解磁珠的工作原理。

y_u_yu_yu_的博客 1万+

LittleFS+NANDFLASH软硬件配置详情

littleFS文件系统说明及移植过程

weixin_43200844的博客 2368

1015 德才论 (25 分) java

宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。” 现给出一批考生的德才分数,请根据司马光的理论给出录取排名。 输入格式: 输入第一行给出 3 个正整数,分别为:N(≤105),即考生总数;L(≥60),为录取最低分数线,即德分和才分均不低于 L 的考生才有...

weixin_42256997的博客 459

告别手工AS91/AB01L:用BAPI_FIXEDASSET_OVRTAKE_CREATE实现SAP资产历史数据自动化迁移

本文详细解析了如何利用BAPI_FIXEDASSET_OVRTAKE_CREATE实现SAP资产历史数据的自动化迁移,替代传统手工操作如AS91/AB01L。通过核心参数解析、迁移逻辑说明及实战案例,帮助顾问团队提升资产和折旧数据迁移的效率与准确性,确保数据一致性并降低错误风险。

weixin_42524708的博客 418

PAT乙级【Java题解合集】

超级全的PAT的JAVA题解

小羊不会飞的博客 3732

RDMA学习笔记-IB五层网络协议和报文结构

Reference InfiniBand Architecture Specification Volume 1, Release 1.3 文章目录IBA 网络协议分层1.链路层1.1 LRH1.2 ICRC1.3 VCRC2.网络层(GRH)3.传输层3.1 BTH3.2 extended transport header4. 报文结构4.1 send request4.2 RDMA Write request4.3 RDMA Read request4.4 ACK4.5 Atomic operatio

u014114310的博客 9468

菱Q系列串行通信模块QJ71C24N:概述与特点

该模块支持多种串行通信协议,包括RS-232、RS-422和RS-485等,并提供了可靠的数据传输和高效的通信性能。菱Q系列串行通信模块QJ71C24N是一款功能强大的模块,具有多种通信协议支持、高速数据传输、多点通信能力和简化配置与使用等特点。简化配置和使用:QJ71C24N模块具有简单易用的配置工具和用户界面,使得用户能够快速进行模块的设置和调整。高速数据传输:QJ71C24N模块提供了高速的数据传输能力,可实现快速的数据交换和通信。本文将介绍QJ71C24N模块的概述和特点,并提供相应的源代码示例。

IunScala的博客 1931

1015 德才论 (25分)(Java 题解)

1015 德才论 (25分) 原题链接:传送门 一、题目 二、解析 思路 题目读懂,新建一个学生类用于存放值,顺便写3个方法。然后排序一下,最主要难在排序。 这题Java过不了,只能通过三个测试案例。 代码 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;...

长生的梦呓 1145

软件可靠性测试与评价

本文系统介绍了软件可靠性工程的核心内容,包括可靠性概念、模型分类、测试方法和评价体系。重点解析了可靠性测试的三大步骤:定义运行剖面、设计测试用例和实施测试收集数据,并以智能安防系统为例说明具体应用。可靠性评价需结合业务场景,通过量化指标(MTBF、失效率等)和模型预测持续优化系统。文章强调可靠性需贯穿软件全生命周期,通过闭环反馈实现持续改进,为关键系统提供质量保障。

moton2017的博客 2050

1015 德才论 (25 分) AC JAVA C++双版本

1015 德才论 (25 分) 宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。” 现给出一批考生的德才分数,请根据司马光的理论给出录取排名。 输入格式: 输入第一行给出 3 个正整数,分别为:N(≤10​5​​),即考生总数;L(≥60),为录取最...

董公子的博客 737

基于Simulink的发动机管理系统中的自适应增压控制系统设计

通过上述详细设计步骤,我们成功开发了一个基于Simulink的自适应增压控制系统。该系统不仅能够实时监测和预测发动机的运行状态,动态调整增压压力目标值,还具备实时监控、故障诊断和保护功能,确保系统的安全性和可靠性。此外,通过仿真实验和硬件在环测试,我们验证了系统的性能,并对其进行了优化,使其能够更好地满足实际应用需求。这个项目展示了如何利用MATLAB/Simulink的强大功能,结合控制理论和工程实践,开发出高效、可靠的自适应增压控制系统。

MHD0815的博客 220

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

【PTA-乙级】【Java】1015 德才论 (25 分)

1015 德才论 (25 分) 宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。” 现给出一批考生的德才分数,请根据司马光的理论给出录取排名。 输入格式: 输入第一行给出 3 个正整数,分别为: N(≤10​5),即考生总数; L(≥60),为录取最低分数线,即德分和才分均不低于 L 的考生才有资格被考虑录取; H(<100),为优先录取线 ———— 德分和才分

Mark_Eleven的学习笔记 631

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

1015. 德才论 (25)

1015. 德才论 (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Li 宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子

静坐常思己过 1097

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

1015 德才论 (25)(25 分)

1015 德才论 (25)(25 分) 宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。” 现给出一批考生的德才分数,请根据司马光的理论给出录取排名。 输入格式: 输入第1行给出3个正整数,分别为:N(&lt;=10^5^),即考生总数;L(&gt;...

码奴生来就只知道前进 2191

1015 德才论 (25 分)

题目链接: https://pintia.cn/problem-sets/994805260223102976/problems/994805307551629312 思路: 本题分别有几个条件:(L表示最低分数线,H表示优先分数线) 德分&gt;=L&amp;&amp;才分&gt;=L才被录取。 录取的学生分为4类: 第一类学生:如果德分&gt;=H&amp;&amp;才分&gt;=H...

小糖同学的专栏 869

PAT 乙级 1015 德才论 Java解决(未AC)

写在最前:欢迎批评,欢迎任意地方的指正,用你们的优秀的java代码砸死我吧!! 问题—————— 宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。” 现给出一批考生的德才分数,请根据司马光的理论给出录取排名。 输入格式: 输入第一行给出 3 个...

TonyHTY的博客 550

1015 德才论

1015 德才论 (25 分) 题意描述: 宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。” 现给出一批考生的德才分数,请根据司马光的理论给出录取排名。 输入格式: 输入第一行给出 3 个正整数,分别为:N(≤10^​5​​ ),即考生总数;L(≥60),...

花花生的博客 721

PAT 1015德才论 (25 分)

宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。” 现给出一批考生的德才分数,请根据司马光的理论给出录取排名。 输入格式: 输入第一行给出 3 个正整数,分别为:N(≤10^5),即考生总数;L(≥60),为录取最低分数线,即德分和才分均不低于 L 的考生才有资格被考虑录取;H(<100),为优先录取线——德分和才分均不低于此线的被定义为“才德全尽”,此类考生按

AlberTesla的博客 326

PTA 德才论 (25分)

每个人都有崩溃的时候,就看你的抗压能力到底有多强,如果你的抗压能力强,有办法可以支撑到你能面对并且解决这些困难的话,你就没有问题。 ----喻言 宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。” 现给出一批考生的德才分...

0k-ok 419

1015 德才论 (25分)java

宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。” 现给出一批考生的德才分数,请根据司马光的理论给出录取排名。 输入格式: 输入第一行给出 3 个正整数,分别为:N(≤10​5​​),即考生总数;L(≥60),为录取最低分数线,即德分和才分均不低于L的考生才有资格被考虑录取;H(<100),为优先录取线——德分和才分均不低于此线的被定义为“才德全尽”,..

qq_44985985的博客 377

PAT 1015 德才论 (25 分) Java实现

这一题建议不要使用java,完 无论如何优化测试点2,3,4总是过不了,上网看别人的代码也没有一个能过的 import java.io.*; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; /** * @date 2021-8-10 - 21:38 * Created by Salmon * 2,3,4测试点怎么都过不了 * 我是傻逼 */ public class M

Salmon1122的博客 401
上一篇: PAT乙级Java实现_1014 福尔摩斯的约会 (20) _附详细解题注释_14
下一篇: PAT乙级Java实现_1016 部分A+B (15) _附详细解题注释_16
coder__666
博客等级 码龄9年 42粉丝 52原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值