[#4练习赛]背答案
题目描述
传智专修学院“Java程序设计”的期末考试来源于一个选择库,共有 $n$ 道题目,每道题目由问题和答案组成,都是一个字符串,保证所有题目题面互不相同。这个题库已经发给同学进行备考准备。
正式考试中,试卷包含 $q$ 道题目,每道题目都有 $4$ 个选项,你需要从 $4$ 个选项中选出与答案相符的选项。请你完成这场考试。
输入格式
第一行两个正整数 $n, q$。
接下来 $n$ 行,每行 $2$ 个用空格分隔的字符串,表示这道题目的问题和答案。
接下来 $q$ 行,每行 $5$ 个的字符串,用空格分隔。第一个字符串表示考试的问题,其余 $4$ 个字符串分别为这道题目的ABCD选项,保证选项各不相同。
输出格式
对于考试中的每道题,输出 A 或者 B 或者 C 或者 D 表示这道题目答案对应的选项,用换行隔开,保证所有题目均有解。
样例 #1
样例输入 #1
8 5
kqet qyf
kxyhfcbfy sorlawygdg
igklkkzmet lh
ijlvjtwirf osfumbui
iict mdz
tcdsczbopw yccknz
fun emdg
rsdsv tawdpyb
kqet pvc kfd uehtepa qyf
kxyhfcbfy ebrlaftges ehfe sorlawygdg kokdukzg
igklkkzmet veqiwikpr yohdgdpb lh nu
kqet eb jnf qyf qkf
iict ycleqorhek mda mdz ahgou
样例输出 #1
D
C
C
C
C
提示
对于所有的数据,$n, q \le 100$,所有字符串都由小写英文字母组成且长度不超过 $100$。
题解
#include<stdio.h>
#include<string.h>
typedef struct QuestionBank{
char qus[101];
char ans[101];
}qb;
int main(){
int n,q,ansNo;
scanf("%d %d",&n,&q);
qb num[n];
for(int i=0;i<n;i++){
scanf("%s %s",&num[i].qus,&num[i].ans);
}
char Q[101],A[101],B[101],C[101],D[101];
for(int i=0;i<q;i++){
scanf("%s %s %s %s %s",&Q,&A,&B,&C,&D);
for(int j=0;j<n;j++){
if(strcmp(Q,num[j].qus) == 0){
ansNo = j;
break;
}
}
if(strcmp(A,num[ansNo].ans) == 0){
printf("A\n");
}else if(strcmp(B,num[ansNo].ans) == 0){
printf("B\n");
}else if(strcmp(C,num[ansNo].ans) == 0){
printf("C\n");
}else{
printf("D\n");
}
}
return 0;
}