聚的一些OD机试题(迭代九)

## 1. 题目描述

如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。这个矩阵的每个元素是由下面的公式决定的

![img](https://www.nowcoder.com/equation?tex=%5Cbegin%7Bequation*%7D%0A%0AC_%7Bij%7D%20%3D%20%5Csum_%7Bk%3D0%7D%5E%7By-1%7DA_%7Bik%7D*B_%7Bkj%7D%0A%0A%5Cend%7Bequation*%7D%20(%E5%85%B6%E4%B8%AD0%20%5Cleq%20i%20%3C%20x%2C%200%20%5Cleq%20j%20%3C%20z))

矩阵的大小不超过100*100

### 输入描述:

第一行包含一个正整数x,代表第一个矩阵的行数
第二行包含一个正整数y,代表第一个矩阵的列数和第二个矩阵的行数
第三行包含一个正整数z,代表第二个矩阵的列数
之后x行,每行y个整数,代表第一个矩阵的值
之后y行,每行z个整数,代表第二个矩阵的值

示例1:

```
输入:
    2
    3
    2
    1 2 3
    3 2 1
    1 2
    2 1
    3 3

输出:
    14 13
    10 11

说明:
    1 2 3
    3 2 1 
    乘以
    1 2
    2 1
    3 3
    等于
    14 13
    10 11 
```
全部评论
## 2. Solution ```python while True: try: x = int(input()) y = int(input()) z = int(input()) A, B = [] ,[] for i in range(x): A.append(list(map(int, input().split()))) for j in range(y): B.append(list(map(int, input().split()))) R = [[0 for k in range(z)] for i in range(x)] for i in range(x): for k in range(z): for j in range(y): R[i][k] += A[i][j] * B[j][k] for i in range(x): for k in range(z): print(R[i][k], end=' ') print() except: break ```
点赞
送花
回复
分享
发布于 05-13 11:20 贵州

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务