天梯赛:L1

编程入门 行业动态 更新时间:2024-10-28 05:26:32

<a href=https://www.elefans.com/category/jswz/34/1767727.html style=天梯赛:L1"/>

天梯赛:L1

每个 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

题目分析: 

这道题目不难,不过对时间要求较高 ,可使用BufferedReader来代替Scanner.

可以创建一个n+1的字符串数组,得到每一行输入的信息后以 试机座位号 为下标将"准考证号"+" "+"考试座位号"存入字符串数组中.

在输出的时候,根据试机座位号找到对应的信息.

代码解决:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {public static void main(String[] args) throws IOException {BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));int n = Integer.parseInt(reader.readLine());String[] stu = new String[n + 1];for (int i = 0; i < n; i++) {String[] parts = reader.readLine().split(" ");StringBuffer stringBuffer = new StringBuffer();stu[Integer.parseInt(parts[1])] = stringBuffer.append(parts[0]).append(" ").append(parts[2]).toString();}int m = Integer.parseInt(reader.readLine());String[] input = reader.readLine().split(" ");for (int i = 0; i < m; i++) {System.out.println(stu[Integer.parseInt(input[i])]);}}
}

在上述代码中,使用StringBuffer代替使用"+"拼接字符串.

提交结果:

更多推荐

天梯赛:L1

本文发布于:2023-12-05 05:18:57,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1663200.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:天梯

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!