2 条题解

  • 0
    @ 2025-2-26 13:21:25

    #include <iostream>
    #include <vector>
    using namespace std;
    // 函数用于计算两个矩阵的乘积
    vector<vector<int>> matrixMultiply(const vector<vector<int>>& A, const vector<vector<int>>& B)
    {
    int m = A.size(); // A的行数
    int n = A[0].size(); // A的列数
    int p = B[0].size(); // B的列数
    // 初始化结果矩阵C,大小为 m x p,初始值为0
    vector<vector<int>> C(m, vector<int>(p, 0));
    // 计算矩阵乘积
    for (int i = 0; i < m; ++i) {
    for (int j = 0; j < p; ++j) {
    for (int k = 0; k < n; ++k) {
    C[i][j] += A[i][k] * B[k][j];
    }
    }
    }
    return C;
    }
    void print(const vector<vector<int>>A)
    {
    for(int i=0;i<A.size();i++)
    {
    for(int j=0;j<A[i].size();j++)
    cout<<A[i][j]<<" ";
    cout<<endl;
    }
    } int main() { int n,m,p,x; cin>>n>>m>>p; vector<vector<int>> A(n,vector<int>(m,0)); for(int i=0;i<n;i++) for(int j=0;j<m;j++) cin>>A[i][j]; vector<vector<int>> B(m,vector<int>(p,0)); for(int i=0;i<m;i++) for(int j=0;j<p;j++) cin>>B[i][j]; // 计算矩阵乘积 vector<vector<int>> ans = matrixMultiply(A, B); // 输出结果矩阵 print(ans); return 0; }

    信息

    ID
    803
    时间
    1000ms
    内存
    256MiB
    难度
    9
    标签
    (无)
    递交数
    7
    已通过
    5
    上传者