Множення матриць
Множення матриць
Нехай задано дві прямокутні матриці A та B розмірності m × n та n × q відповідно:
Тоді матриця C розмірності m × q називається їх добутком:
де:
Операція множення двох матриць допустима лише у тому випадку, коли кількість стовбців у першому множнику дорівнює кількості рядків у другому; у цьому випадку кажуть, що форма матриць узгоджена.
Задано дві матриці A та B. Знайти їх добуток.
Вхідні дані
У першому рядку задано два натуральних числа n[a]
та m[a]
- розмірність матриці A. У наступних n[a]
рядках задано по m[a]
чисел - елемент a[ij]
матриці A. У (n[a]
+ 2)-му рядку задано два натуральних числа n[b]
та m[b]
- розмірність матриці B. У наступних n[b]
рядках задано по m[b]
чисел - елементи b[ij]
матриці B. Розмірність матриць не перевищує 100 × 100, усі елементи матриць цілі числа, які не перевищують за модулем 100.
Вихідні дані
У першому рядку вивести розмірність результуючої матриці C: n[с]
та m[c]
. У наступних n[с]
рядках вивести через пропуск по m[c]
чисел - відповідні елементи c[ij]
матриці C. Якщо множити матриці не можна у першому і єдиному рядку вивести число -1.
Приклад
2 3 1 3 4 5 -2 3 3 3 1 3 2 2 1 3 0 -1 1
2 3 7 2 15 1 10 7
2 3 10 12 31 23 11 17 3 4 0 2 1 4 3 9 2 4 -5 4 2 5
2 4 -119 252 96 243 -52 213 79 221