PAT (Basic Level) Practice (中文) 1041 考试座位号 (15 分)

简介: PAT (Basic Level) Practice (中文) 1041 考试座位号 (15 分)

题目描述


每个PAT考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。


输入格式


输入第一行给出一个正整数N(<=1000),随后N行,每行给出一个考生的信息:“准考证号 试机座位号 考试座位号”。其中准考证号由14位数字组成,座位从1到N编号。输入保证每个人的准考证号都不同,并且任何时候都不会把两个人分配到同一个座位上。考生信息之后,给出一个正整数M(<=N),随后一行中给出M个待查询的试机座位号码,以空格分隔。


输出格式


对应每个需要查询的试机座位号码,在一行中输出对应考生的准考证号和考试座位号码,中间用1个空格分隔。


输入样例


4

10120150912233 2 4

10120150912119 4 1

10120150912126 1 3

10120150912002 3 2

2

3 4


输出样例


10120150912002 2

10120150912119 1


分析


这个是要根据试机作为查找到学号和考试座位号,可以将学号和考试座位号看成一个结构体数组的内容,试机座位号看做数组的下标,直接查找数组的下标就可以直接找到需要考生号+实际考试座位号。


代码

#include<bits/stdc++.h>
using namespace std;
struct student {
  long long id;
  int examSeat;
}textSeat[1010];
int main()
{
  int n,m;
  int seat;
  scanf("%d",&n);
  int examSeat;
  long long id;
  for(int i=0;i<n;i++)
  {
  scanf("%lld %d %d",&id,&seat,&examSeat);
  textSeat[seat].id=id;
  textSeat[seat].examSeat=examSeat;
  }
  scanf("%d",&m); 
  for(int i=0;i<m;i++)
  {
  scanf("%d",&seat);
  printf("%lld %d\n",textSeat[seat].id,textSeat[seat].examSeat);
  } 
  return 0;
}


/



总结


查找元素可以直接按照数组下标直接查找,存储的时候要有序存储


问题解决


书写结构体数组格式+id使用的是long long 结构存储,要不然答案不争取,所以以后尽可能的使用long long 。

微信图片_20220927125052.png


相关文章
|
C语言 C++
PAT (Basic Level) Practice (中文)1099 性感素数(20分)
“性感素数”是指形如 (p, p+6) 这样的一对素数。之所以叫这个名字,是因为拉丁语管“六”叫“sex”(即英语的“性感”)。(原文摘自 http://mathworld.wolfram.com/SexyPrimes.html) 现给定一个整数,请你判断其是否为一个性感素数。
161 0
|
C语言 C++
PAT (Basic Level) Practice (中文) 1031 查验身份证 (15分)
一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:
91 0
|
测试技术
PAT (Basic Level) Practice (中文) B1011 A+B 和 C (15 分)
PAT (Basic Level) Practice (中文) B1011 A+B 和 C (15 分)
112 0
PAT (Basic Level) Practice (中文) B1011 A+B 和 C (15 分)
|
测试技术
PAT (Basic Level) Practice (中文)1012 数字分类 (20 分)+易错测试点
PAT (Basic Level) Practice (中文)1012 数字分类 (20 分)+易错测试点
137 0
PAT (Basic Level) Practice (中文)1012 数字分类 (20 分)+易错测试点
|
存储 测试技术
PAT (Basic Level) Practice (中文) 1004 成绩排名 (20 分)
PAT (Basic Level) Practice (中文) 1004 成绩排名 (20 分)
94 0
|
算法
PAT (Basic Level) Practice (中文)1028. 人口普查(20分)
PAT (Basic Level) Practice (中文)1028. 人口普查(20分)
110 0
PAT (Basic Level) Practice (中文) 1036 跟奥巴马一起编程 (15 分) p89
PAT (Basic Level) Practice (中文) 1036 跟奥巴马一起编程 (15 分) p89
167 0
|
编译器
PAT (Basic Level) Practice (中文)- 1077 互评成绩计算(20 分)
PAT (Basic Level) Practice (中文)- 1077 互评成绩计算(20 分)
114 0
PAT (Basic Level) Practice (中文) B1046 划拳 (15 分)
PAT (Basic Level) Practice (中文) B1046 划拳 (15 分)
93 0
PAT (Basic Level) Practice (中文) 1016 部分A+B (15 分)
PAT (Basic Level) Practice (中文) 1016 部分A+B (15 分)
91 0