題目連結: https://zerojudge.tw/ShowProblem?problemid=d481
# 解題思路
記得判斷一下不符合的矩陣乘法,接下來,就是要用三層迴圈的方式計算出來囉
(一開始會有點小混亂是正常的)
(我到了矩陣快速冪那裏,矩陣乘法還是常常寫不好)
# 程式碼
#include <iostream> | |
using namespace std; | |
int main(){ | |
int a,b,c,d; | |
while(cin>>a>>b>>c>>d){ | |
long long int arr1[101][101],arr2[101][101],sum; | |
if(b!=c){ | |
cout<<"Error"<<endl; | |
continue; | |
} | |
for(int i=0;i<a;i++){ | |
for(int j=0;j<b;j++) | |
cin>>arr1[i][j]; | |
} | |
for(int i=0;i<c;i++){ | |
for(int j=0;j<d;j++) | |
cin>>arr2[i][j]; | |
} | |
for(int i=0;i<a;i++){ | |
for(int j=0;j<d;j++){ | |
sum=0; | |
for(int k =0;k<c;k++) | |
sum+=arr1[i][k]*arr2[k][j]; | |
cout<<sum<<" "; | |
} | |
cout<<endl; | |
} | |
} | |
} |