输出描述 输出 n 行,每行 m 个整数,表示矩阵 A×B,每个数模 10 9 +7 输出。
时间: 2024-02-13 08:07:04 浏览: 39
以下是一份更新后的 C++ 代码示例,实现了从标准输入读入数据,计算矩阵乘积并输出结果的功能。同时,代码还对每个结果矩阵元素取模操作,以避免整数溢出。
```c++
#include <iostream>
#include <vector>
using namespace std;
const int MOD = 1e9 + 7;
vector<vector<int>> matrix_multiply(vector<vector<int>>& A, vector<vector<int>>& B) {
int row_A = A.size(), col_A = A[0].size();
int row_B = B.size(), col_B = B[0].size();
if (col_A != row_B) {
throw invalid_argument("矩阵 A 和矩阵 B 不能相乘!");
}
vector<vector<int>> C(row_A, vector<int>(col_B, 0));
for (int i = 0; i < row_A; i++) {
for (int j = 0; j < col_B; j++) {
for (int k = 0; k < col_A; k++) {
C[i][j] = (C[i][j] + (long long)A[i][k] * B[k][j]) % MOD;
}
}
}
return C;
}
int main() {
int n, p, m;
cin >> n >> p >> m;
vector<vector<int>> A(n, vector<int>(p));
vector<vector<int>> B(p, vector<int>(m));
for (int i = 0; i < n; i++) {
for (int j = 0; j < p; j++) {
cin >> A[i][j];
A[i][j] %= MOD;
}
}
for (int i = 0; i < p; i++) {
for (int j = 0; j < m; j++) {
cin >> B[i][j];
B[i][j] %= MOD;
}
}
vector<vector<int>> C = matrix_multiply(A, B);
for (int i = 0; i < C.size(); i++) {
for (int j = 0; j < C[0].size(); j++) {
cout << C[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
该程序与之前的代码示例类似,不同之处在于在读入矩阵 A 和矩阵 B 的值时,对每个元素进行了取模操作。在计算矩阵乘积时,对每个结果矩阵元素也进行了取模操作。最终输出的结果矩阵 C 中,每个元素均模 10^9 + 7。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)