Nhập môn - Nhân hai ma trận tổng quát
Point: 100.0
Time limit: 1.0s
Memory limit: 977 M
Input:
stdin
Output:
stdout
Author:
Problem type
Phương pháp: Quy hoạch động
Ngôn ngữ cho phép
C#, C++, Java, Python
Yêu cầu
Cho hai ma trận A có cỡ \(m\times n\) và ma trận \(B\) có cỡ \(n\times p\). Khi đó ta mới thực hiện được phép nhân hai ma trận \(C = A\times B\) như sau:
- Ma trận \(C\) sẽ có cỡ \(m\times p\),
- Phần tử \(c_{ij}\) của ma trận \(C\) được tính bởi công thức: \(c_{ij} = a_{i1}*b_{1j}+a_{i2}*b_{2j}+ ...+a_{in}*b_{nj}\).
Ví dụ:
\[
\begin{bmatrix}
a_{11} & a_{12} & a_{13}\\
a_{21} & a_{22} & a_{23}
\end{bmatrix}
\times
\begin{bmatrix}
b_{11} & b_{12} \\
b_{21} & b_{22} \\
b_{31} & b_{32}
\end{bmatrix}
=
\begin{bmatrix}
a_{11}\cdot b_{11}+a_{12}\cdot b_{21}+a_{13}\cdot b_{31} & a_{11}\cdot b_{12}+a_{12}\cdot b_{22}+a_{13}\cdot b_{32} \\
a_{21}\cdot b_{11}+a_{22}\cdot b_{21}+a_{23}\cdot b_{31} & a_{21}\cdot b_{12}+a_{22}\cdot b_{22}+a_{23}\cdot b_{32}
\end{bmatrix}
\]
Chú ý rằng phép nhân ma trận không có tính giao hoán, nghĩa là \(A\times B\) khác với \(B\times A\). Bạn có thể tìm hiểu thêm về phép nhân này ở đây: Nhân ma trận wiki
Dữ liệu vào Specification
- Dòng đầu tiên ghi 3 số nguyên không âm \(m, n, p\ (0 < m, n, p \le 100)\)
- \(m\) dòng tiếp, mỗi dòng ghi \(n\) số nguyên biểu diễn ma trận \(A\)
- \(n\) dòng tiếp, mỗi dòng ghi \(p\) số nguyên biểu diễn ma trận \(B\).
Dữ liệu ra Specification
- In ra \(m\) dòng, mỗi dòng \(p\) số biểu diễn cho ma trận \(C = A\times B\)
Sample Input
2 2 2
1 1
1 1
1 0
0 1
Sample Output
1 1
1 1