問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
前問では、行列の和を計算しましたが、行列では積を計算することもできます。
行列 A と行列 B の積 AB の i 行目 j 列目の要素 {AB}_{ij} は次のように計算されます。
{AB}_{ij} = A_{i1}B_{1j} + A_{i2}B_{2j} + ... + A_{in}B_{nj}
つまり、{AB}_{ij} は A の i 行目の各要素と B の j 列目の各要素を掛けたものをすべて足し合わせたものです。
たとえば、次のような行列 A と行列 B があるとします。
A = [[1, 2], [3, 4]]
B = [[5, 6], [7, 8]]
このとき、AB は次のように計算されます。
{AB}_{11} = A_{11}B_{11} + A_{12}B_{21} = 1 × 5 + 2 × 7 = 19
{AB}_{12} = A_{11}B_{12} + A_{12}B_{22} = 1 × 6 + 2 × 8 = 22
{AB}_{21} = A_{21}B_{11} + A_{22}B_{21} = 3 × 5 + 4 × 7 = 43
{AB}_{22} = A_{21}B_{12} + A_{22}B_{22} = 3 × 6 + 4 × 8 = 50
したがって、AB は次のようになります。
AB = [[19, 22], [43, 50]]
行列 a と行列 b が与えられるので、行列 ab を計算してください。
n
a_{11} a_{12} ... a_{1n}
a_{21} a_{22} ... a_{2n}
...
a_{n1} a_{n2} ... a_{nn}
b_{11} b_{12} ... b_{1n}
b_{21} b_{22} ... b_{2n}
...
b_{n1} b_{n2} ... b_{nn}
合計 n 行出力してください。
i 行目には、ab の i 行目の要素 {ab}_{i1}, {ab}_{i2}, ..., {ab}_{in} を半角スペース区切りで出力してください。
また、末尾に改行を入れ、余計な文字を含んではいけません。
すべてのテストケースにおいて、以下の条件をみたします。
・ 入力はすべて整数
・ 1 ≦ n ≦ 100
・ 0 ≦ a_{ij}, b_{ij} ≦ 100 (1 ≦ i, j ≦ n)
2
1 2
3 4
5 6
7 8
19 22
43 50
4
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
4 4 4 4
4 4 4 4
4 4 4 4
4 4 4 4