PAT-1041(乙级)

发布时间:2026/7/28 18:19:05
PAT-1041(乙级) 每个 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解题思路因为考试座位唯一因此可以拿试机座位号作为索引与准考证号和考试座位一一对应。代码#includebits/stdc.h using namespace std; struct struct_info{ string _info; int _real; }; int main(){ int n, m; cin n; struct_info arrs[n1]; for(int i 0; i n; i){ string temp_info; int temp_real, temp_test; cin temp_info temp_test temp_real; arrs[temp_test]._info temp_info; arrs[temp_test]._real temp_real; } cin m; struct_info temp[m]; for(int i 0; i m; i){ int temp_test; cin temp_test; temp[i] arrs[temp_test]; } for(int i 0; i m; i){ cout temp[i]._info temp[i]._real endl; } return 0; }