Link:點擊打開鏈接
Description
在數學中,矩陣是一個按照長方陣列排列的複數或實數集合,最早來自於方程組的係數及常數所構成的方陣。這一概念由19世紀英國數學家凱利首先提出。
矩陣是高等代數學中的常見工具,也常見於統計分析等應用數學學科中。在物理學中,矩陣於電路學、力學、光學和量子物理中都有應用;計算機科學中,三維動畫製作也需要用到矩陣。 矩陣的運算是數值分析領域的重要問題。將矩陣分解爲簡單矩陣的組合可以在理論和實際應用上簡化矩陣的運算。對一些應用廣泛而形式特殊的矩陣,例如稀疏矩陣和準對角矩陣,有特定的快速運算算法。
作爲A+B問題,我們在此掌握矩陣的加法運算:
$$ \left( \begin{matrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{matrix}\right) + \left( \begin{matrix} b_{11} & b_{12} & b_{13} \\ b_{21} & b_{22} & b_{23} \\ b_{31} & b_{32} & b_{33} \end{matrix}\right) = \left( \begin{matrix} a_{11} + b_{11} & a_{12}+ b_{12} & a_{13}+ b_{13} \\ a_{21}+ b_{21} & a_{22}+ b_{22} & a_{23}+ b_{23} \\ a_{31}+ b_{31} & a_{32}+ b_{32} & a_{33}+ b_{33} \end{matrix}\right)$$
上式就表示兩個3*3
矩陣的加法,聰明的你應該想到n*m
的矩陣運算法則:兩個n*m
矩陣A
和B
的和,一樣是個n*m
矩陣,其內的各元素爲其相對應元素相加後的值。
現在給你兩個矩陣A
、B
,請你輸出得到的A+B
結果矩陣。
Input
第一行是兩個數n
、m
,表示給出兩個n
行m
列的矩陣。
下面n
行描述矩陣A
,再下面n
行描述矩陣B
。
詳細格式請參考樣例。
1 ≤ n ≤ 50
1 ≤ m ≤ 50
0 ≤ |aij| ≤ 105
0 ≤ |bij| ≤ 105
Output
請輸出n
行數描述矩陣A+B
。
每行的m
個數用一個空格分隔開,行末不需要空格。
Sample Input
2 3 1 2 3 3 4 5 1 1 0 1 2 0
Sample Output
2 3 3 4 6 5
Hint
請嚴格按照格式輸出,不要輸出多餘空格。
Code:
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<iostream>
#include<queue>
#include<stack>
using namespace std;
int main()
{
int n,m;
int a[55][55],b[55][55],c[55][55];
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
scanf("%d",&a[i][j]);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
scanf("%d",&b[i][j]);
c[i][j]=a[i][j]+b[i][j];
}
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
printf("%d%c",c[i][j],j==m? '\n':' ');
return 0;
}