/**
* @program: suanfa
* @description:
* @author: 国宇航
* @create: 2020-01-03 08:53
**/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
/**
* 8 4
* B123180908127 99
* B102180908003 86
* A112180318002 98
* T107150310127 62
* A107180908108 100
* T123180908010 78
* B112160918035 88
* A107180908021 98
* 1 A
* 2 107
* 3 180908
* 2 999
*/
//15分 超时
public class yi1095 {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String[] split = bufferedReader.readLine().split(" ");
int M = Integer.parseInt(split[0]);
int N = Integer.parseInt(split[1]);
//输入准考证和分数
String[] A = new String[M];
String[] B = new String[M];
for (int i = 0;i<M;i++){
String[] split1 = bufferedReader.readLine().split(" ");
A[i]= split1[0];
B[i]= split1[1];
}
String[] C = new String[N];
String[] D = new String[N];
for (int i = 0;i<N;i++){
String[] split2 = bufferedReader.readLine().split(" ");
C[i]= split2[0];
D[i]= split2[1];
}
Map<Integer,Integer> map = new TreeMap<Integer, Integer>();
Map<String,String> maph = new TreeMap<String,String>();
int n = 1;
while (n<=N){
System.out.println("Case "+n+":"+" "+C[n-1]+" "+D[n-1]);
if(Integer.parseInt(C[n-1])==1){
// Arrays.sort(A);
for(int i =0;i<M;i++){
if (A[i].charAt(0)==D[n-1].charAt(0)){
maph.put(A[i],B[i]);
}
}
ArrayList<Map.Entry<String,String>> arrayList1 = new ArrayList<Map.Entry<String,String>>(maph.entrySet());
//排序
Collections.sort(arrayList1, new Comparator<Map.Entry<String,String>>() {
public int compare(Map.Entry<String,String> map1, Map.Entry<String,String> map2) {
return (Integer.parseInt(map2.getValue()) -Integer.parseInt( map1.getValue()));
}
});
if(maph.isEmpty()){
System.out.println("NA");
}
for (Map.Entry<String, String> entry : arrayList1) {
System.out.println(entry.getKey() + " " + entry.getValue());
}
}
if(Integer.parseInt(C[n-1])==2){
int sum = 0;
int count = 0;
for(int i=0;i<M;i++){
String substring = A[i].substring(1, 4);
if (Integer.parseInt(substring)==Integer.parseInt(D[n-1])) {
sum = sum + Integer.parseInt(B[i]);
count++;
}
}
if(count==0){
System.out.println("NA");
}else {
System.out.println(count+" "+sum);
}
}
if(Integer.parseInt(C[n-1])==3){
int count = 1;
for(int i=0;i<M;i++){
String substring = A[i].substring(4, 10);
String substring1 = A[i].substring(1, 4);
// System.out.println(substring);
if (Integer.parseInt(substring)==Integer.parseInt(D[n-1])) {
if(map.get(Integer.parseInt(substring1))!=null){
map.put(Integer.parseInt(substring1),map.get(Integer.parseInt(substring1))+1);
}else {
map.put(Integer.parseInt(substring1),count);
}
}
}
ArrayList<Map.Entry<Integer, Integer>> arrayList = new ArrayList<Map.Entry<Integer, Integer>>(map.entrySet());
//排序
Collections.sort(arrayList, new Comparator<Map.Entry<Integer, Integer>>() {
public int compare(Map.Entry<Integer, Integer> map1, Map.Entry<Integer, Integer> map2) {
return (map2.getValue() - map1.getValue());
}
});
if(map.isEmpty()){
System.out.println("NA");
}
//输出
for (Map.Entry<Integer, Integer> entry : arrayList) {
System.out.println(entry.getKey() + " " + entry.getValue());
}
}
n++;
}
}
}
浙江大学PAT乙级(1095)题解(java)
最新推荐文章于 2022-08-02 15:44:22 发布