#524. 矩阵乘法

矩阵乘法

矩阵乘法

题目描述

给定两个矩阵:

  • 矩阵 A,大小为 n × m
  • 矩阵 B,大小为 m × k

请计算矩阵 A × B 的结果矩阵 C

矩阵乘法规则如下:

矩阵 C 的大小为:

n × k

其中:

C[i][j] = A[i][0] × B[0][j]
       + A[i][1] × B[1][j]
       + ...
       + A[i][m-1] × B[m-1][j]

也就是说:

  • C[i][j] 表示结果矩阵第 i 行第 j 列的元素;
  • 它等于 A 的第 i 行B 的第 j 列 对应元素相乘后求和。

例如:

A 的第 i 行:

a1 a2 a3


B 的第 j 列:

b1
b2
b3

C[i][j]:

a1*b1 + a2*b2 + a3*b3

输入格式

第一行输入三个整数:

n m k

表示:

  • 矩阵 A 有 nm 列;
  • 矩阵 B 有 mk 列。

保证:

1 ≤ n,m,k < 100

接下来输入矩阵 A:

n 行,每行 m 个整数。

然后输入矩阵 B:

m 行,每行 k 个整数。

矩阵中每个元素满足:

|元素| ≤ 1000

输出格式

输出矩阵 C。

共输出 n 行,每行 k 个整数。

相邻两个整数之间使用一个空格分隔。


样例输入

3 2 3
1 1
1 1
1 1
1 1 1
1 1 1

样例输出

2 2 2
2 2 2
2 2 2

数据范围说明

由于:

n,m,k < 100

矩阵乘法需要计算:

n × m × k

次乘法。

最大约:

100 × 100 × 100 = 1,000,000

次运算。

因此可以直接使用三重循环完成。