Skip to content

Latest commit

 

History

History
45 lines (36 loc) · 1.29 KB

1061. 判断题.md

File metadata and controls

45 lines (36 loc) · 1.29 KB

【PAT B-1061】判断题

输入输出格式

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

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

数据规模

$$0< N,M \le 100$$

算法设计

使用vector<array<gg, 2>>类型将题目的满分值和正确答案存储起来。每读取一个学生的解答,将它和正确答案作对比,累加解答正确的题目的分值即可。

C++代码

#include <bits/stdc++.h>
using namespace std;
using gg = long long;
int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    gg ni, mi;
    cin >> ni >> mi;
    vector<array<gg, 2>> problems(mi);
    for (auto i = 0; i < mi; ++i)
        cin >> problems[i][0];
    for (auto i = 0; i < mi; ++i)
        cin >> problems[i][1];
    while (ni--) {
        gg s = 0, ai;
        for (int i = 0; i < mi; ++i) {
            cin >> ai;
            if (ai == problems[i][1]) {
                s += problems[i][0];
            }
        }
        cout << s << '\n';
    }
    return 0;
}