PTA B1061 判断题 C++/Python3

题目描述

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

输入格式

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

输出格式

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

样例 #1

样例输入 #1

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

样例输出 #1

13
11
12

C++

#include <bits/stdc++.h>

using namespace std;

signed main()
{
    int a,b;
    cin>>a>>b;
    //每一题的分数 
    int score[b];
    //每一题的对错 
    int select[b];
    for(int i =0; i<b; i++) cin>>score[i];
    for(int i =0; i<b; i++) cin>>select[i];
    for(int i =0; i<a; i++) {
        int res=0;
        for(int k =0; k<b; k++) {
            int s;
            cin>>s;
            if(s==select[k]) {
                res+=score[k];
            }
        }
        cout<<res<<"\n";
    }
    return 0;
}

Python3/Pypy3

n = list(map(int, input().split()))

score = list(map(int, input().split()))
select = list(map(int, input().split()))
for i in range(n[0]):
    ans = 0
    stu = list(map(int, input().split()))
    for j in range(n[1]):
        if stu[j] == select[j]:
            ans += score[j]
    print(ans)

添加新评论