当前位置: 代码迷 >> 综合 >> 【蓝桥杯每日一题打卡】P1093 [NOIP2007 普及组] 奖学金
  详细解决方案

【蓝桥杯每日一题打卡】P1093 [NOIP2007 普及组] 奖学金

热度:86   发布时间:2023-11-22 08:33:05.0

文章目录

  • 蓝桥杯倒计时第九天,每日一题打卡
  • 一、P1093 [NOIP2007 普及组] 奖学金
  • 二、解题步骤
  • 总结


蓝桥杯倒计时第九天,每日一题打卡

今天上了一天的课,忙里偷闲打个卡

一、P1093 [NOIP2007 普及组] 奖学金

java优先级排序的一道题

二、解题步骤

没有什么可说的了,直接结构体排序


import java.math.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Comparator;
import java.util.HashSet;
import java.util. Iterator;
import java.util.List;
import java.util.Scanner;
import java.util.Set;class node 
{
    int num;int x;int y;int z;int sum;
}
class mycompare implements Comparator<node>{
    public int compare(node a,node b){
    if(a.sum==b.sum){
    if(a.x==b.x){
    return a.num-b.num;}else {
    return b.x-a.x;}	}else {
    return b.sum-a.sum;}}
}
public class Main {
       public static void main(String[] args) {
    Scanner cin = new Scanner(System.in);int n;n=cin.nextInt();node []a=new node [500];for(int i=1;i<=n;i++){
    a[i]=new node ();a[i].num=i;a[i].x=cin.nextInt();a[i].y=cin.nextInt();a[i].z=cin.nextInt();a[i].sum=a[i].x+a[i].y+a[i].z;}Arrays.sort(a,1,n+1,new mycompare());for(int i=1;i<=5;i++){
    System.out.println(a[i].num+" "+a[i].sum);}}
}

在这里插入图片描述

总结

之前学习Java的时候写过具体的结构体排序的代码
Java结构体+排序