#include <stdio.h>
struct prob{
int score;
int answer; /* bitwise storage for at most 5 options */
int wrong;
} probs[100];
/* read 'count option1 ...' format */
int readanswer()
{
char c;
int count, answer = 0;
scanf("%d", &count);
for(int k = 0; k < count; k++)
{
while((c = getchar()) == ' ') ;
answer |= 1 << (c - 'a');//按位或
}
return answer;
}
int main()
{
int N, M, max = 0, useless;
/* read the answers for each problem */
scanf("%d %d", &N, &M);
for(int i = 0; i < M; i++)
{
scanf("%d %d", &probs[i].score, &useless);
probs[i].wrong = 0;
probs[i].answer = readanswer();
}
/* read every student's answer */
for(int i = 0; i < N; i++)
{
int score = 0;
for(int j = 0; j < M; j++)
{
/* read answer for one problem */
while(getchar() != '(');
if(readanswer() == probs[j].answer) /* If it is right */
score += probs[j].score;
else if(max < ++probs[j].wrong) /* If most students got it wrong */
max = probs[j].wrong;
while(getchar() != ')');
}
printf("%d\n", score);
}
if(max == 0)
printf("Too simple");
else
{
printf("%d", max);
for(int i = 0; i < M; i++)
if(probs[i].wrong == max)
printf(" %d", i + 1);
}
return 0;
}
*PAT 1058 选择题 (20 分)
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 【蝴蝶效应】 蝴蝶效应:上个世纪70年代,美国一个名叫洛伦兹的气象学家在解释空气系统理论时说,亚马逊雨林一只蝴蝶...
- 传送门 https://pintia.cn/problem-sets/994805260223102976/pro...
- 我的PAT系列文章更新重心已移至Github,欢迎来看PAT题解的小伙伴请到Github Pages浏览最新内容。...
- 一、问题描述 下午编译APP的时候,出现了如下所示的错误: [图片上传失败...(image-63b314-154...