题解 | #矩阵乘法#
矩阵乘法
http://www.nowcoder.com/practice/ebe941260f8c4210aa8c17e99cbc663b
一次就AC,激动不已,三个for循坏
#include <algorithm>
#include <vector>
using namespace std;
void compute(vector<vector<int>> &A,vector<vector<int>> &B,
vector<vector<int>> &out){
int n = A[0].size();
int x = A.size();
int y = B[0].size();
int sum = 0;
for(int i = 0;i<x;i++){
for(int j = 0;j<y;j++){
for(int m = 0;m<n;m++){
sum+=A[i][m]*B[m][j];
}
out[i][j] = sum;
sum = 0;
}
}
return ;
}
int main() {
int x,y,z;
while(cin>>x>>y>>z){
vector<vector<int>> A(x,vector<int>(y,0));
vector<vector<int>> B(y,vector<int>(z,0));
vector<vector<int>> out(A.size(),vector<int>(B[0].size(),0));
int temp;
for(int i = 0;i<x;i++){
for(int j = 0;j<y;j++){
cin>>temp;
A[i][j] = temp;
}
}
for(int i = 0;i<y;i++){
for(int j = 0;j<z;j++){
cin>>temp;
B[i][j] = temp;
}
}
compute(A,B,out);
for(int i = 0;i<out.size();i++){
for(int j = 0;j<out[0].size();j++){
cout<<out[i][j]<<' ';
}
cout<<endl;
}
}
}