ITP1_6_D: Matrix Vector Multiplication
行列とベクトルの積 | プログラミング入門 | Aizu Online Judge
ベクトルと行列の積についての問題
この式に沿って問題を解いていきます。
解答1
n, m = map(int, input().split()) A = [] b = [] # 行列Aに要素を追加 for i in range(n): A.append([int(s) for s in input().split()]) # 列ベクトルbに要素を追加 for i in range(m): b.append([int(input())]) # Aとbの積を出力 for i in range(n): sum = 0 # 列ベクトルc_iを求める for j in range(m): sum_i += A[i][j] * b[j][0] # 列ベクトルc_iを出力 print(sum_i)
解答2
リスト内包表記を利用し、簡潔にしています。
n, m = list(map(int, input().split())) A = [list(map(int, input().split())) for i in range(n)] bt = [int(input()) for i in range(m)] for i in range(n): print(sum([x * y for (x, y) in zip(A[i], bt)]))