蓝桥杯倒计时第九天,每日一题打卡
今天上了一天的课,忙里偷闲打个卡
一、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结构体+排序