本文主要是介绍【J1】【map】考试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述
下周要考试了,小明决定从明天开始认真复习,然而题库中数量繁多的奇怪题目让他大伤脑筋,快来帮帮他!
题库可以抽象为 n 道题目,每道题目由题面和答案组成,都是一个字符串,保证所有题目题面互不相同。
为了检验小明背笔试的效果,老师进行了一次模拟考试,考试包含 q 道题目,每道题目都有 4 个选项,小明需要从 4 个选项中选出与答案相符的选项。
现在你需要帮助小明完成这场考试。
输入
第一行两个正整数 n,q。
接下来 n 行,每行 2 个用空格分隔的字符串,表示这道题目的题面和答案。
接下来 q 行,每行 5 个用空格分隔的字符串,第一个字符串表示模拟考试中这道题目的题面,其余 4 个字符串按顺序分别为这道题目的选项 A 到选项 D,保证选项各不相同。
输出
对于模拟考试中的每道题目,输出一个字符表示这道题目答案对应的选项,保证所有题目均有解
#include<bits/stdc++.h>
#define up(l,r,i) for(int i=l,END##i=r;i<=END##i;++i)
#define dn(r,l,i) for(int i=r,END##i=l;i>=END##i;--i)
#define up1(l,r,i) for(int i=l,END##i=r;i<END##i;++i)
#define dn2(l,r,i) for(int i=l,END##i=r;i>END##i;--i)
#define int long long
using namespace std;
signed main() {int n,q;cin>>n>>q;vector<pair<string, string> > problems(n);for(int i=0;i<n;i++){cin>>problems[i].first>>problems[i].second;}for(int i=0;i<q;i++) {string title;vector<string> options(4);cin>>title;for (int j=0;j<4;j++){cin>>options[j];}for (int k=0; k<n;k++) {if (problems[k].first==title) {if(problems[k].second==options[0]){cout<<"A"<<endl;}else if(problems[k].second==options[1]){cout<<"B"<<endl;}else if(problems[k].second==options[2]){cout<<"C"<<endl;}else if(problems[k].second==options[3]){cout<<"D"<<endl;}}}}return 0;
}
。
这篇关于【J1】【map】考试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!