def matrix_vector_dot_product(matrix, vector):
# 补全代码
if not matrix or not isinstance(matrix, list) or not isinstance(matrix[0], list):
return -1
# 获取矩阵列数和向量长度
matrix_cols = len(matrix[0])
vector_len = len(vector)
# 维度校验:矩阵列数 != 向量长度,返回-1
if matrix_cols != vector_len:
return -1
# 计算点积:逐行计算乘积和
result = []
for row in matrix:
# 确保每行长度一致(避免不规则矩阵)
if len(row) != matrix_cols:
return -1
row_sum = sum(x * y for x, y in zip(row, vector))
result.append(row_sum)
return result
# 主程序
if __name__ == "__main__":
# 输入矩阵和向量
matrix_input = input()
vector_input = input()
# 处理输入
import ast
matrix = ast.literal_eval(matrix_input)
vector = ast.literal_eval(vector_input)
# 调用函数计算点积
output = matrix_vector_dot_product(matrix, vector)
# 输出结果
print(output)