admin管理员组

文章数量:1516870

PAT 1041

输入格式:

输入第一行给出一个正整数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<iostream>
using namespace std;
int main()
{
	int num;
	cin >> num;
	int n = 0;
	char r[1000][14];
	int r1[1000];
	while (n < num){
		char s[14];
		int n1;
		int n2;
		cin >> s >> n1 >> n2;
		for (int i = 0; i < 14; i++)
			r[n1][i] = s[i];
		r1[n1] = n2;
		n++;
	}
	int num1;
	cin >> num1;
	int *s = new int[num];
	n = 0;
	while (n < num1){
		int x;
		cin >> x;
		s[n] = x;
		n++;
	}
	for (int i = 0; i < num1; i++){
		for (int m = 0; m < 14; m++)
			cout << r[s[i]][m];
		cout << " " << r1[s[i]]<<endl;
	}
	return 0;
}


一开始把题目想的太复杂,还用了动态二维数组。。。其实只要将输入的试机座位号作为数组的索引即可,本题并没有什么技术含量。

本文标签: 试机座位编程考试座位