1. 程式人生 > >1061 判斷題 ——c++實現

1061 判斷題 ——c++實現

1061 判斷題 (15 point(s))

判斷題的評判很簡單,本題就要求你寫個簡單的程式幫助老師判題並統計學生們判斷題的得分。

輸入格式:

輸入在第一行給出兩個不超過 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

思路:

這道題思路很簡單。在處理學生輸入答案的時候,通用的技巧是用一個tmp處理就可以,無需用陣列處理,以減小空間和時間複雜度。

程式碼:

//1061 判斷題v1
#include <iostream>
using namespace std;
int main(){
 	int N,M;	cin>>N>>M;
 	int a[M],b[M],tmp,i,j,sum=0;	//a[m],b[m]分別儲存滿分值和正確答案
	for(i=0;i<M;i++)	cin>>a[i];	
 	for(i=0;i<M;i++)	cin>>b[i];
 	for(i=0;i<N;i++){
 		for(j=0;j<M;j++){
 			cin>>tmp;
 			if(tmp==b[j])	sum+=a[j];
		}
		cout<<sum<<endl;
		sum=0;	
	}
 }