2026/7/28 14:36:37

L1-005 考试座位号 (15 分)JAVA

L1-005 考试座位号 (15 分)JAVA 每个 PAT 考生在参加考试时都会被分配两个座位号一个是试机座位一个是考试座位。正常情况下考生在入场时先得到试机座位号码入座进入试机状态后系统会显示该考生的考试座位号码考试时考生需要换到考试座位就座。但有些考生迟到了试机已经结束他们只能拿着领到的试机座位号码求助于你从后台查出他们的考试座位号码。 输入格式 输入第一行给出一个正整数 N≤1000随后 N 行每行给出一个考生的信息准考证号 试机座位号 考试座位号。其中准考证号由 16 位数字组成座位从 1 到 N 编号。输入保证每个人的准考证号都不同并且任何时候都不会把两个人分配到同一个座位上。 考生信息之后给出一个正整数 M≤N随后一行中给出 M 个待查询的试机座位号码以空格分隔。 输出格式 对应每个需要查询的试机座位号码在一行中输出对应考生的准考证号和考试座位号码中间用 1 个空格分隔。 输入样例 4 3310120150912233 2 4 3310120150912119 4 1 3310120150912126 1 3 3310120150912002 3 2 2 3 4 输出样例 3310120150912002 2 3310120150912119 1下面的超时代码:import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub SuppressWarnings(resource) Scanner scan new Scanner(System.in); int n scan.nextInt(); long[][] t new long[n][3];//此处的n和3 long[n][3]都要写否则会空指针异常; for(int i0;in;i) { for(int j0;j3;j) { t[i][j]scan.nextLong(); } } int t1 scan.nextInt(); int[] arr new int[t1]; for(int i0;it1;i) { arr[i]scan.nextInt(); } for(int i0;it1;i) { for(int j0;jn;j) { if(arr[i]t[j][1]) { System.out.println(t[j][0] t[j][2]); } } } } }下面的创建一个类class写的但是运行超时import java.util.Scanner; //import java.util.ArrayList; class He { private String xuehao; private int shiji; private int kaoshi; public String getXuehao() { return xuehao; } public void setXuehao(String xuehao) { this.xuehao xuehao; } public int getShiji() { return shiji; } public void setShiji(int shiji) { this.shiji shiji; } public int getKaoshi() { return kaoshi; } public void setKaoshi(int kaoshi) { this.kaoshi kaoshi; } } public class Main { public static void main(String[] args) { Scanner scan new Scanner(System.in); //ArrayListString list new ArrayListString();//创建一个list集合; int n scan.nextInt();//4\n String s scan.nextLine();//用来吃掉输入的n后面的\n,否则\n就会赋值给str[0]; He[] h new He[n]; for(int i0;in;i) { h[i] new He(); } String[] str new String[n]; for(int i0;in;i) { str[i] scan.nextLine(); String[] str1 str[i].split( ); h[i].setXuehao(str1[0]); h[i].setShiji(Integer.parseInt(str1[1].trim())); h[i].setKaoshi(Integer.parseInt(str1[2].trim())); } int k1 scan.nextInt(); int[] arr new int[k1]; for(int i0;ik1;i) { arr[i] scan.nextInt(); } for(int i0;ik1;i) { for(int j0;jn;j) { if(arr[i]h[j].getShiji()) { System.out.println(h[j].getXuehao() h[j].getKaoshi()); break; } } } } }