用Map存储“题目-通过率”映射,用Collections.sort()排序键值,挨着打印即可:
import java.util.*;
public class Main{
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
Map<String, Double> m = new HashMap<>();
int n = Integer.parseInt(sc.nextLine());
for(int i = 0; i < n; ++i){
String[] v = sc.nextLine().split(" ");
m.put(v[0], (double)Integer.parseInt(v[2])/(double)Integer.parseInt(v[1]));
}
List<String> r = new ArrayList<>(m.keySet());
Collections.sort(r);
for(String s : r){
System.out.print(s);
System.out.print(" ");
System.out.println(f(m.get(s)));
}
}
static int f(double x){
if(x <= 0.3) return 5;
if(x > 0.6) return 3;
return 4;
}
}
京公网安备 11010502036488号