我的PAT-BASIC代码仓:https://github.com/617076674/PAT-BASIC
原题链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805281567916032
题目描述:
知识点:字符串
思路:开一个1001大小的数组,试机座位号码即数组索引,数组中存储的值为考试座位号码
本题是典型的空间换时间的思想。时间复杂度是O(1)。空间复杂度是O(1001)。
C++代码:
#include<iostream>
#include<string>
using namespace std;
struct student {
string studentNumber;
int tryNumber;
int testNumber;
};
int main() {
int totalNum;
student tempStudent;
string tempStudentNumber;
int tempTryNumber;
int tempTestNumber;
cin >> totalNum;
student students[1001];
for (int i = 0; i < totalNum; i++) {
cin >> tempStudentNumber >> tempTryNumber >> tempTestNumber;
tempStudent.studentNumber = tempStudentNumber;
tempStudent.tryNumber = tempTryNumber;
tempStudent.testNumber = tempTestNumber;
students[tempTryNumber] = tempStudent;
}
int queryNum;
int queryNumber;
cin >> queryNum;
for (int i = 0; i < queryNum; i++) {
cin >> queryNumber;
cout << students[queryNumber].studentNumber << " " << students[queryNumber].testNumber << endl;
}
}
C++解题报告: