题解 P5601 【小D与笔试】
看上去有点看不懂,但细细看题后可以发现这道题目是很水的。
在输入完题面及答案之后,就输入每个题的时候枚举一下题面是否匹配,然后再匹配答案就行了,因为看数据范围
好像这是最不需要讲的一道题目(当然A+B除外)。
那么,直接上代码自己理解一下吧,有不懂的可以私信我哦。
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <string>
#include <iostream>
using namespace std;
const char dx[5] = {' ', 'A', 'B', 'C', 'D'};
struct pre {
string ps, ans;
}p[107];
struct pro {
string p, ans[5];
}s[107];
int n, q;
int main() {
scanf("%d%d", &n, &q);
for(int i = 1; i <= n; ++i)
cin >> p[i].ps >> p[i].ans;
for(int i = 1; i <= q; ++i) {
cin >> s[i].p >> s[i].ans[1] >> s[i].ans[2] >> s[i].ans[3] >> s[i].ans[4];
for(int j = 1; j <= n; ++j)
if(s[i].p == p[j].ps)
for(int k = 1; k <= 4; ++k)
if(p[j].ans == s[i].ans[k])
printf("%c\n", dx[k]);
}
return 0;
}
无耻地求个赞qwq。