外链推广平台,南昌网站优化,朝阳网站制作公司,医院网站建设策划书每个 PAT 考生在参加考试时都会被分配两个座位号#xff0c;一个是试机座位#xff0c;一个是考试座位。正常情况下#xff0c;考生在入场时先得到试机座位号码#xff0c;入座进入试机状态后#xff0c;系统会显示该考生的考试座位号码#xff0c;考试时考生需要换到考试…每个 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代码长度限制
16 KB
时间限制
200 ms
内存限制
64 MB
#includeiostream
using namespace std;typedef struct student {char id[17];//准考证号 int vir;//试机座位号int real;//考试座位号
} stu;int main() {int N, M;stu all[1001];//定义所有考生信息int num[1001] { 0 };//用来快速查询考生信息cin N;for (int i 0; i N; i) {cin all[i].id all[i].vir all[i].real;num[all[i].vir] i;//num数组存的内容是试机号所对应的学生的编号}cin M;for (int i 0; i M; i) {int query;cin query;cout all[num[query]].id all[num[query]].real endl;}return 0;
}
补充
准考证号16位但是id我定义了17位因为只定义16位的时候输出会有乱码
因为输入的人数是小于等于1000人包括1000所以大小开的是1001因为我的循环是从0开始的
num数组就是键为试机座位号值为该学生在所有人中的序号可以帮助快速查询直接输入试机座位号通过该数组就能得到具体位置