SLOJ P10219 「一本通 6.5 例 1」矩阵 A×B

题目描述

矩阵 A 规模为n×m,矩阵 B 规模为m×p,现需要你求A×B。

矩阵相乘的定义:n×m 的矩阵与m×p 的矩阵相乘变成n×p 的矩阵,令aik为矩阵A中的元素,bkj为矩阵B中的元素,则相乘所得矩阵C中的元素

cij=aikbkj

具体可见样例。

输入格式

第一行两个数n,m;

接下来nm列描述一个矩阵A;

接下来一行输入p

接下来mp 列描述一个矩阵B。

输出格式

输出矩阵A与矩阵B相乘所得的矩阵C。

输入数据 0

2 3
1 2 3
3 2 1
2
1 1
2 2
3 3

输出数据 0

14 14
10 10

样例说明

[14=1×1+2×2+3×310=3×1+2×2+1×3]

数据范围与提示

对于全部数据,1n,m,p100,10000aij,bij10000。

板子题,毫无思路可言,干就完了!!!

复制代码
#include<bits/stdc++.h>
using namespace std;
int n,m,p,a[110][110],b[110][110],c[110][110];
int main(){
    scanf("%d%d",&n,&m);
    for(int i = 1;i<=n;i++)
        for(int j = 1;j<=m;j++)
            scanf("%d",&a[i][j]);
    scanf("%d",&p);
    for(int i = 1;i<=m;i++)
        for(int j = 1;j<=p;j++)
            scanf("%d",&b[i][j]);
    for(int i = 1;i<=n;i++)
        for(int j = 1;j<=p;j++)
            for(int k = 1;k<=m;k++)
                c[i][j]+=a[i][k]*b[k][j];
    for(int i = 1;i<=n;i++){
        for(int j = 1;j<=p;j++)
            printf("%d ",c[i][j]);
        puts("");
    }
    return 0;
}
复制代码

综上所述,我是蒟蒻

2022-10-27 18:09:51

posted @   cztq  阅读(138)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】

阅读目录(Content)

此页目录为空

点击右上角即可分享
微信分享提示