我的PAT-BASIC代码仓:https://github.com/617076674/PAT-BASIC
原题链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805268817231872
题目描述:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YscjMfVmepNHLykEVPhXTq1EeRpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLxcjNyIjM0gTM2IDMxgTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
知识点:计数
思路:按题述编程即可
时间复杂度是O(N * M),空间复杂度是O(M)。
C++代码:
#include<iostream>
using namespace std;
int main(){
int N, M;
cin >> N >> M;
int scores[M];
int tempNum;
for(int i = 0; i < M; i++){
cin >> tempNum;
scores[i] = tempNum;
}
int answers[M];
for(int i = 0; i < M; i++){
cin >> tempNum;
answers[i] = tempNum;
}
int sum;
for(int i = 0; i < N; i++){
sum = 0;
for(int i = 0; i < M; i++){
cin >> tempNum;
if(tempNum == answers[i]){
sum += scores[i];
}
}
cout << sum << endl;
}
return 0;
}
C++解题报告: