l1-048. 矩陣a乘以b
給定兩個矩陣a和b,要求你計算它們的乘積矩陣ab。需要注意的是,只有規模匹配的矩陣才可以相乘。即若a有ra行、ca列,b有rb行、cb列,則只有ca與rb相等時,兩個矩陣才能相乘。
輸入格式:
輸入先後給出兩個矩陣a和b。對於每個矩陣,首先在一行中給出其行數r和列數c,隨後r行,每行給出c個整數,以1個空格分隔,且行首尾沒有多餘的空格。輸入保證兩個矩陣的r和c都是正數,並且所有整數的絕對值不超過100。
輸出格式:
若輸入的兩個矩陣的規模是匹配的,則按照輸入的格式輸出乘積矩陣ab,否則輸出「error: ca != rb」,其中ca是a的列數,rb是b的行數。
輸入樣例1:
2 3
1 2 3
4 5 6
3 4
7 8 9 0
-1 -2 -3 -4
5 6 7 8
輸出樣例1:
2 4
20 22 24 16
53 58 63 28
輸入樣例2:
3 2
38 26
43 -5
0 17
3 2
-11 57
99 68
81 72
輸出樣例2:
error: 2 != 3
解題思路:
先判斷a的列和b的行,不同即直接輸出,相同再計算矩陣相乘。相乘時要明確矩陣相乘時內部的遍歷順序,雖然看著有很多for迴圈很可怕,但是邏輯很好理解,這點注意好了就沒啥問題了。
#include
const int maxn=50;
int a[maxn][maxn],b[maxn][maxn],ans[maxn][maxn]=;
int main()
}scanf("%d
%d",&rb,&cb);
for(int i=0;ifor(int j=0;j"%d",&b[i][j]);}}
if(ca!=rb)else}}
printf("%d
%d\n",rans,cans);
for(int i=0;ifor(int j=0;jif(j>0) printf(" ");
printf("%d",ans[i][j]);
}printf("\n");}}
return
0;}
L1 048 矩陣A乘以B
時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 給定兩個矩陣a和b,要求你計算它們的乘積矩陣ab。需要注意的是,只有規模匹配的矩陣才可以相乘。即若a有ra行 ca列,b有rb行 cb列,則只有ca與rb相等時,兩個矩陣才能相乘。輸...
L1 048 矩陣A乘以B
給定兩個矩陣a和b,要求你計算它們的乘積矩陣ab。需要注意的是,只有規模匹配的矩陣才可以相乘。即若a有ra行 ca列,b有rb行 cb列,則只有ca與rb相等時,兩個矩陣才能相乘。輸入先後給出兩個矩陣a和b。對於每個矩陣,首先在一行中給出其行數r和列數c,隨後r行,每行給出c個整數,以1個空格分隔,...
L1 048 矩陣A乘以B
時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 給定兩個矩陣a和b,要求你計算它們的乘積矩陣ab。需要注意的是,只有規模匹配的矩陣才可以相乘。即若a有ra行 ca列,b有rb行 cb列,則只有ca與rb相等時,兩個矩陣才能相乘。輸...