下記のサイトの競技プログラミングの問題を解きました。
競技プログラミングの問題
二つの行列の積を求める問題です。
もしお時間があれば、この問題のプログラムを作成していただきぜひ参考にさせていただきたいです。
下記が僕が作成したプログラムです。多くの改善点があると思うので、改善するべきところを指摘していただくだけでも構いません。
python
1# coding: UTF-8 2n,m,l = map(int,raw_input().split(" ")) 3a_matrix = [map(int,raw_input().split()) for i in range(n)]#行列a 4b_matrix = [map(int,raw_input().split()) for i in range(m)]#行列b 5c_matrix = [] #演算後の行列 6for i in range(n): 7 tmp_list = []#i行目の要素を1つずつこのリストにいれていく 8 for j in range(l): 9 sum = 0 10 for k in range(m): 11 sum += a_matrix[i][k] * b_matrix[k][j] #積の計算 12 tmp_list.append(sum) #i行j列目の要素を追加 13 c_matrix.extend([tmp_list])#i行目の要素がすべてそろと追加 14for x in range(n): 15 print " ".join(map(str,c_matrix[x]))
以上よろしくお願いします。
![guest](/img/icon/icnUserSample.jpg)
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/25 03:55
2018/01/25 04:09 編集
2018/01/25 06:05