题目描述

判断题的评判很简单,本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分。

输入格式

输入在第一行给出两个不超过 100 的正整数 N 和 M,分别是学生人数和判断题数量。第二行给出 M 个不超过 5 的正整数,是每道题的满分值。第三行给出每道题对应的正确答案,0 代表“非”,1 代表“是”。随后 N 行,每行给出一个学生的解答。数字间均以空格分隔。

输出格式

按照输入的顺序输出每个学生的得分,每个分数占一行。

输入样例

3 6
2 1 3 3 4 5
0 0 1 0 1 1
0 1 1 0 0 1
1 0 1 0 1 0
1 1 0 0 1 1

输出样例

13
11
12

分析

此题过于简单,必为乙级第一题。
用三个vector容器分别保存题目正解、题目满分以及学生得分。为避免超时,在输入学生作答结果同时进行判分,将分数保存在stu[i]里。

参考代码

#include <bits/stdc++.h>
using namespace std;
vector<int> stu(101) , num(101),score(101);
int main() {
int n , m;
cin >> n >> m ;
for(int i = 0; i < m ; ++i){cin >> score[i];}
for(int i = 0 ; i < m; ++i){cin >> num[i] ;}
for(int i = 0 ; i<n ; ++i)
{
for(int j = 0 ; j < m ; ++j)
{
int temp = 0 ;
cin >> temp ;
if(temp == num[j])
{
stu[i] +=score[j];
}
}
}
for(int i = 0 ; i < n ; ++i){cout<<stu[i]<<endl;}
return 0;
}

谢谢访问