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; }

    • 0

      //二维数组硬解;

      #include<bits/stdc++.h>
      using namespace std;
      int a[50][50],b[50][50],c[50][50]={0};
      int main()
      {
      	int m,n,k;
      	cin>>n>>m>>k;//3 2 3
      	for(int i=0;i<=n-1;i++)
      	{
      		for(int j=0;j<=m-1;j++)
      		{
      			cin>>a[i][j];
      		}
      	}
      	for(int i=0;i<=m-1;i++)
      	{
      		for(int j=0;j<=k-1;j++)
      		{
      			cin>>b[i][j];
      		}
      	}
      	for(int i=0;i<=n-1;i++)
      	{
      		for(int j=0;j<=k-1;j++)
      		{
      			for(int h=0;h<=m-1;h++)
      			{
      				c[i][j]+=a[i][h]*b[h][j];
      			}
      		}
      	}
      	for(int i=0;i<=n-1;i++)
      	{
      		for(int j=0;j<=k-1;j++)
      		{
      		 cout<<c[i][j]<<' ';
      		}
      		cout<<'\n';
      	}
      	return 0;
      }
      
      • 1

      信息

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