题目描述

某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末,每个学生都有3门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学 排在前面,这样,每个学生的排序是唯一确定的。

任务:先根据输入的3门课的成绩计算总分,然后按上述规则排序,最后按排名顺序输出前五名名学生的学号和总分。注意,在前5名同学中,每个人的奖学金都不相同,因此,你必须严格按上述规则排序。例如,在某个正确答案中,如果前两行的输出数据(每行输出两个数:学号、总分) 是:

77 279279

55 279279

这两行数据的含义是:总分最高的两个同学的学号依次是77号、55号。这两名同学的总分都是 279279 (总分等于输入的语文、数学、英语三科成绩之和) ,但学号为77的学生语文成绩更高一些。如果你的前两名的输出数据是:

55 279279

77 279279

则按输出错误处理,不能得分。

输入输出格式

输入格式:

共n+1行。

第11行为一个正整数n( \le 300)n(≤300),表示该校参加评选的学生人数。

第22到n+1n+1行,每行有33个用空格隔开的数字,每个数字都在00到100100之间。第jj行的33个数字依次表示学号为j-1j−1的学生的语文、数学、英语的成绩。每个学生的学号按照输入顺序编号为1~n1 n(恰好是输入数据的行号减11)。

所给的数据都是正确的,不必检验。

//感谢 黄小U饮品 修正输入格式

输出格式:

共5行,每行是两个用空格隔开的正整数,依次表示前55名学生的学号和总分。

输入输出样例

输入样例#1:

6

90 67 80

87 66 91

78 89 91

88 99 77

67 89 64

78 89 98

输出样例#1:

6 265

4 264

3 258

2 244

1 237

输入样例#2:

8

80 89 89

88 98 78

90 67 80

87 66 91

78 89 91

88 99 77

67 89 64

78 89 98

输出样例#2:

8 265

2 264

6 264

1 258

5 258

import java.util.Scanner;

public class jiangxuejin2 {
public static void main(String[] args) {
Scanner r=new Scanner(System.in);
int n=r.nextInt();
int [][] a=new int[n][3];
for (int i = 0; i < n; i++) {
a[i][0]=i+1;
a[i][1]=r.nextInt();
int x=r.nextInt();
int y=r.nextInt();
a[i][2]=a[i][1]+x+y;
}
for (int i = 0; i < a.length-1; i++) {
for (int j = i; j < a.length; j++) {
if(a[i][2]>a[j][2])
{
int temp=a[i][0];
a[i][0]=a[j][0];
a[j][0]=temp; temp=a[i][1];
a[i][1]=a[j][1];
a[j][1]=temp; temp=a[i][2];
a[i][2]=a[j][2];
a[j][2]=temp;
} }
} for (int i = 0; i < a.length-1; i++) {
for (int j = i; j < a.length; j++) {
if(a[i][2]==a[j][2]&&a[i][1]>a[j][1])
{
int temp=a[i][0];
a[i][0]=a[j][0];
a[j][0]=temp; temp=a[i][1];
a[i][1]=a[j][1];
a[j][1]=temp; temp=a[i][2];
a[i][2]=a[j][2];
a[j][2]=temp;
} }
} for (int i = 0; i < a.length-1; i++) {
for (int j = i; j < a.length; j++) {
if(a[i][2]==a[j][2]&&a[i][1]==a[j][1]&&a[i][0]<a[j][0])
{
int temp=a[i][0];
a[i][0]=a[j][0];
a[j][0]=temp; temp=a[i][1];
a[i][1]=a[j][1];
a[j][1]=temp; temp=a[i][2];
a[i][2]=a[j][2];
a[j][2]=temp;
} }
}
for (int i = a.length-1; i >a.length-6; i--) {
System.out.println(a[i][0]+" "+a[i][2]);
} } }

(Java实现)洛谷 P1093 奖学金的更多相关文章

  1. 洛谷 P1093 奖学金

    P1093 奖学金 题目描述 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金.期末,每个学生都有3门课的成绩:语文.数学.英语.先按总分从高到低排序,如果两个同学总分相 ...

  2. 洛谷——P1093 奖学金

    P1093 奖学金 题目描述 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金.期末,每个学生都有3门课的成绩:语文.数学.英语.先按总分从高到低排序,如果两个同学总分相 ...

  3. 洛谷 P1093 奖学金【三级结构体排序】

    题目描述 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金.期末,每个学生都有3门课的成绩:语文.数学.英语.先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高 ...

  4. (水题)洛谷 - P1093 - 奖学金

    https://www.luogu.org/problemnew/show/P1093 #include<bits/stdc++.h> using namespace std; #defi ...

  5. 洛谷P1093 奖学金

    https://www.luogu.org/problem/P1093 #include <bits/stdc++.h> using namespace std; struct Node{ ...

  6. Java实现 洛谷 Car的旅行路线

    输入输出样例 输入样例#1: 1 3 10 1 3 1 1 1 3 3 1 30 2 5 7 4 5 2 1 8 6 8 8 11 6 3 输出样例#1: 47.5 import java.util. ...

  7. Java实现 洛谷 P1738 洛谷的文件夹

    题目描述 kkksc03是个非凡的空想家!在短时间内他设想了大量网页,然后总是交给可怜的lzn去实现. 洛谷的网页端,有很多文件夹,文件夹还套着文件夹. 例如:/luogu/application/c ...

  8. Java实现洛谷 P1428 小鱼比可爱

    题目描述 人比人,气死人:鱼比鱼,难死鱼.小鱼最近参加了一个"比可爱"比赛,比的是每只鱼的可爱程度.参赛的鱼被从左到右排成一排,头都朝向左边,然后每只鱼会得到一个整数数值,表示这只 ...

  9. Java实现洛谷 P1007独木桥

    题目背景 战争已经进入到紧要时间.你是运输小队长,正在率领运输部队向前线运送物资.运输任务像做题一样的无聊.你希望找些刺激,于是命令你的士兵们到前方的一座独木桥上欣赏风景,而你留在桥下欣赏士兵们.士兵 ...

随机推荐

  1. python路径操作新标准:pathlib 模块

    之前如果要使用 python 操作文件路径,我总是会条件反射导入 os.path. 而现在,我会更加喜欢用新式的 pathlib, 虽然用得还是没有 os.path 熟练,但是以后会坚持使用. pat ...

  2. Spring中bean的四种注入方式

    一.前言   最近在复习Spring的相关内容,这篇博客就来记录一下Spring为bean的属性注入值的四种方式.这篇博客主要讲解在xml文件中,如何为bean的属性注入值,最后也会简单提一下使用注解 ...

  3. flink优化总结

    一.高性能Flink SQL优化技巧 1.Group Aggregate优化技巧 开启MicroBatch或MiniBatch(提升吞吐) MicroBatch和MiniBatch都是微批处理,只是微 ...

  4. SpringBoot 整合SpringBatch实际项目改造

    SpringBoot整合SpringBatch项目,已将代码开源至github,访问地址:https://github.com/cmlbeliever/SpringBatch 欢迎star or fo ...

  5. 初涉WebGL

    之前一直在捣鼓Vue和React栈,对组件化架构项目有了些理解和体会.今天尝尝WebGL,当然,并不打算现在深入,只是略作了解,我知道这个坑很深. js的图形库.3d库也有好几款比较流行的,如游戏开发 ...

  6. MySQL数据库基础操作语句

    SQL语言主要用于存取数据.查询数据.更新数据和管理关系数据库系统,分为3种类型: 1.DDL语句 数据库定义语言: 数据库.表.视图.索引.存储过程,例如CREATE DROP ALTER 2.DM ...

  7. Java中JVM相关面试题-整理

    1.JVM内存模型 •程序计数器:当前线程字所执行节码的行号指示器,用于记录正在执行的虚拟机字节指令地址,线程私有. •Java虚拟机栈:存放基本数据类型,对象的引用,方法出口等,线程私有. •本地方 ...

  8. 必须使用角色管理工具 安装或配置microsoft.net framework 3.5

    windows server 2008安装sql server 2012后报错,要求安装microsoft.net framework 3.5 sp1 但安装时提示,必须使用角色管理工具 安装或配置m ...

  9. POJ3225

    题目链接:https://vjudge.net/problem/POJ-3225 解题思路:这道题要是不看题解以本渣新现在的实力确实是做不出来. 以区间为基础建立线段树. 当X=‘U', 将区间T内的 ...

  10. python 读取txt文件

    1.打开文件 #1)1 f = open("test.txt","r") #设置文件对象 f.close() #关闭文件 #2) #为了方便,避免忘记close ...