1. 程式人生 > 其它 >LuoguP5601 小D與筆試 題解

LuoguP5601 小D與筆試 題解

LuoguP5601 小D與筆試 題解

看上去有點看不懂,但細細看題後可以發現這道題目是很水的。


在輸入完題面及答案之後,就輸入每個題的時候列舉一下題面是否匹配,然後再匹配答案就行了,因為看資料範圍\(n,q,s\leqslant 100\)就肯定地知道列舉不會爆炸。

好像這是最不需要講的一道題目(當然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;
}