Trong toán học, phép nhân ma trận hoặc sản phẩm ma trận là một phép toán nhị phân tạo ra ma trận từ hai ma trận. Định nghĩa được thúc đẩy bởi các phương trình tuyến tính và biến đổi tuyến tính trên các vectơ, có nhiều ứng dụng trong toán học ứng dụng, vật lý và kỹ thuật. Chi tiết hơn, nếu A là ma trận n × m và B là ma trận m × p, thì sản phẩm ma trận AB của họ là ma trận n × p, trong đó các mục nhập m trên một hàng của A được nhân với các mục nhập m các cột của B và được tổng hợp để tạo ra một mục AB. Khi hai phép biến đổi tuyến tính được biểu diễn bằng ma trận, thì sản phẩm ma trận đại diện cho thành phần của hai phép biến đổi.
Nguồn: Wikipedia
Nói cách khác, để nhân hai ma trận, ví dụ:
1 2 3 1 4
2 3 4 × 3 1 =
3 4 5 4 6
Đầu tiên, lấy hàng số 1 trong ma trận đầu tiên, cột số 1 trong ma trận thứ hai và nhân 1
với 1
, 2
bởi 3
và 3
bởi 4
.
1 × 1 = 1
2 × 3 = 6
3 × 4 = 12
Bây giờ thêm chúng lại với nhau để có được mục đầu tiên của bạn:
1 2 3 1 4 19
2 3 4 × 3 1 =
3 4 5 4 6
Đối với số thứ hai trong cột đầu tiên của kết quả, bạn sẽ cần lấy hàng số 2 thay vì hàng số 1 và làm điều tương tự.
1 × 2 = 2
3 × 3 = 9
4 × 4 = 16
= 27
Sau khi bạn thực hiện toàn bộ cột đầu tiên, kết quả sẽ như sau:
1 2 3 1 4 19
2 3 4 × 3 1 = 27
3 4 5 4 6 35
Bây giờ, làm lại chính xác điều đó một lần nữa, nhưng lấy cột thứ hai thay vì cột thứ nhất, dẫn đến:
1 2 3 1 4 19 24
2 3 4 × 3 1 = 27 35
3 4 5 4 6 35 46
Nhiệm vụ của bạn
Cho hai ma trận (kích thước tối đa 200x200), chứa các số trong phạm vi -10000 đến 10000, trong đó số cột trên cột đầu tiên bằng số lượng hàng trên giây, nhân số thứ nhất với số thứ hai. (Phép nhân ma trận là không giao hoán.)
Bạn có thể lấy đầu vào và đưa ra đầu ra dưới dạng một mảng các mảng (hoặc tương đương), một ma trận (nếu ngôn ngữ của bạn có định dạng đó) hoặc một chuỗi nhiều dòng.
Bạn không được sử dụng bất kỳ tích hợp nào để nhân ma trận.
Các trường hợp thử nghiệm
1 2 1 2 3 4 5 13 16 19 22 25
3 4 × 6 7 8 9 10 = 27 34 41 48 55
5 6 41 52 63 74 85
2 3 3 5 15 13
3 4 × 3 1 = 21 19
5 3 11 27
1 3 1 3 7 15
9 3 × 2 4 = 15 39
1 -1000 -1999 -3997
Hãy nhớ rằng, đây là mã golf , vì vậy mã có ít byte nhất sẽ thắng.