洛谷P5601 小D与笔试

题目大意

前 $n$ 行为题库题目与标准答案。
后 $q$ 行为考试题目与 $ABCD$ 四个选项,你需要从输入4个选项中找出正确答案的序号。保证有解且唯一。

100分做法

根据题目模拟即可。
先读入 $n$ 道题目,并记下题目与标准答案。
再读入 $q$ 道题目。读入每道题目时,你需要先从前面 $n$ 行给出的题目与标准答案中找到与询问的题目相同的题目。
然后记下这道题目的答案,再依次读入 $4$ 个答案,并与记下的答案对比即可,输出选项 $ABCD$ 。
$Code:$

#include<bits/stdc++.h>
using namespace std;
struct node
{
    string pro,ans;                    //记下题库中的每道题目和答案。
}a[105];
int main()
{
    int i,n,m;
    cin>>n>>m;
    for(i=1;i<=n;i++)                  //读入题库中的每道题目和答案。
    {
        cin>>a[i].pro;
        cin>>a[i].ans;
    }
    for(i=1;i<=m;i++)
    {
        string prob,anspro;
        cin>>prob;                     //读入考试中的每道题目。
        for(int j=1;j<=n;j++)
        {
            if(a[j].pro==prob)
            {
                anspro=a[j].ans;       //记下这道题目的标准答案。
            }
        }
        for(int j=1;j<=4;j++)          //处理4个选项。
        {
            string f;
            cin>>f;
            if(f==anspro)
            {
                char p='A'+j-1;
                cout<<p<<endl;         //输出正确答案。
            }
        }
    }
}