1 条题解

  • 0
    @ 2024-12-24 10:06:06

    Java :

    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.Scanner;
    
    public class Main {
        private static ArrayList<Person> persons=new ArrayList<>();
        public static String suoxie;
        public static String name;
        public static String name1;
    	public static void main(String[] args) {
    		Scanner scanner=new Scanner(System.in);
    		String totalsString=scanner.nextLine();
    		int total=Integer.parseInt(totalsString);
    		while(total!=0)
    		{   
    			while(total--!=0)
    		  {
    			  suoxie="";
    		      name="";
    		      name1="";
    			  String tempString=scanner.nextLine();
    			  String buffer[]=tempString.split(" ");
    			 for(int i=2;i<buffer.length;i++)
    			 {
    				 suoxie+=buffer[i].charAt(0);
    				 name+=buffer[i];
    				 name1+=" "+buffer[i];
    			 }
    			 Person person=new Person(Integer.parseInt(buffer[0]), Integer.parseInt(buffer[1]), suoxie, name,name1);
    			 persons.add(person);
    		 }
    			sort();
    			printPerson(persons);
    			persons.clear();
    			total=Integer.parseInt(scanner.nextLine());
    		}
    	
    	}
       private static void printPerson(ArrayList<Person> persons) {
    		   for(int j=0;j<persons.size();j++)
    		   {
    			   Person person=persons.get(j); 
    			   System.out.println(person.score+" "+person.acNum+person.name1);
    		   }
    		   System.out.println();
    		
    	}
    public static void sort(){
    	   Collections.sort(persons, new Comparator<Person>() {
    			@Override
    			public int compare(Person o1, Person o2) {
    				if(o1.score==o2.score)
    				{
    					if(o1.acNum==o2.acNum)
    					{
    						if(o1.suoxie.equals(o2.suoxie))
    						{
    							return o1.name.compareTo(o2.name);
    						}
    						return o1.suoxie.compareTo(o2.suoxie);
    					}
    					return o1.acNum<o2.acNum?1:-1;
    				}
    				return o1.score<o2.score?1:-1;
    			}
    		});
    
       }
    }
    class Person{
    	public int score;
    	public int acNum;
    	public String suoxie;
    	public String name;
    	public String name1;
    	public Person(int score, int acNum, String suoxie, String name, String name1) {
    		super();
    		this.score = score;
    		this.acNum = acNum;
    		this.suoxie = suoxie;
    		this.name = name;
    		this.name1 = name1;
    	}
    
    	
    	
    }
    
    • 1

    信息

    ID
    1941
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者