【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;
}

相关推荐
ambition202421 小时前
操作系统同步:读者-写者问题与读写公平法详解(附每个 PV 操作含义)
linux·开发语言·数据结构·unix
mCell7 小时前
Lua 编程入门:从基础语法到元表
javascript·算法·lua
wuyk5559 小时前
98.C语言易混难点:字符数组与字符串指针的底层差异
c语言·开发语言·c++·stm32·嵌入式硬件·算法
峥无9 小时前
从0到1手撕红黑树:封装实现 my_map 与 my_set(SGI-STL 源码级深度解析)
开发语言·c++·笔记·算法·stl
不会代码的小猴9 小时前
3. 控件学习1
开发语言·c++·笔记·qt·算法
疯狂打码的少年11 小时前
【数据结构】图的存储结构:邻接矩阵与邻接表
数据结构·笔记
203号居民11 小时前
LeetCode hot 100 —41. 缺失的第一个正数
数据结构·算法·leetcode
专注仿真13 小时前
问答大模型技术方案算法实现-熵权法融合算法 + 交叉编码器重排算法
人工智能·python·算法·语言模型·问答大模型关键算法·熵权融合算法·交叉编码器重排算法
evans在进步14 小时前
LeetCode 322:零钱兑换——Java 动态规划详解
java·leetcode·动态规划