51nod 1137矩阵乘法【矩阵】

1137 矩阵乘法

基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题

 收藏

 关注

给出2个N * N的矩阵M1和M2,输出2个矩阵相乘后的结果。

Input

第1行:1个数N,表示矩阵的大小(2 <= N <= 100)
第2 - N + 1行,每行N个数,对应M1的1行(0 <= M1[i] <= 1000)
第N + 2 - 2N + 1行,每行N个数,对应M2的1行(0 <= M2[i] <= 1000)

Output

输出共N行,每行N个数,对应M1 * M2的结果的一行。

Input示例

2
1 0
0 1
0 1
1 0

Output示例

0 1
1 0
#include<stdio.h>
#include<string.h>
#define N 110
#define LL long long
int n;
LL num1[N][N],num2[N][N],num[N][N];

int main()
{
    LL i,j,k;
    while(scanf("%d",&n)!=EOF)
    {
        memset(num,0,sizeof(num));
        for(i = 1; i <= n; i ++)
            for(j = 1; j <= n; j ++)
                scanf("%lld",&num1[i][j]);
        for(i = 1; i <= n; i ++)
            for(j = 1; j <= n; j ++)
                scanf("%lld",&num2[i][j]);
        for(i = 1; i <= n; i ++)
            for(j = 1; j <= n; j ++)
                for(k = 1; k <= n; k ++)
                    num[i][j] += num1[i][k]*num2[k][j];
        for(i = 1; i <= n; i ++)
        {
            for(j = 1; j < n; j ++)
                printf("%lld ",num[i][j]);
            printf("%lld\n",num[i][n]);
         }
    }
    return 0;
}
时间: 2024-11-10 07:12:05

51nod 1137矩阵乘法【矩阵】的相关文章

HDU 4965 Fast Matrix Caculation ( 矩阵乘法 + 矩阵快速幂 + 矩阵乘法的结合律 )

HDU 4965 Fast Matrix Calculation ( 矩阵乘法 + 矩阵快速幂 + 矩阵乘法的结合律 ) #include <cstdio> #include <cstring> #include <algorithm> using namespace std; #define MAX_SIZE 1001 #define CLR( a, b ) memset( a, b, sizeof(a) ) #define MOD 6 typedef long lo

矩阵乘法&amp;&amp;矩阵快速幂&amp;&amp;最基本的矩阵模型——斐波那契数列

矩阵,一个神奇又令人崩溃的东西,常常用来优化序列递推 在百度百科中,矩阵的定义: 在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合 ,最早来自于方程组的系数及常数所构成的方阵.这一概念由19世纪英国数学家凯利首先提出. 好,很高深对吧.那我们就更加直接地理解一下矩阵的实质:二维数组 好了这个SB都会,就不解释了 同二维数组一样,矩阵是一个'纵横排列的二维数据表格',它一般是一个n*m的二维数组,其中n*m表示它有n行m列 每一位上的数可以用下标i,j来表示,形如这样一个矩阵:

矩阵乘法&amp;&amp;矩阵快速幂

int add(long long &x,long long y) { x+=y; x%=MOD; } Matrix mutil(Matrix x,Matrix y) { Matrix z; memset(z.a,0,sizeof(z.a)); for(int i=0;i<X;i++) { for(int k=0;k<X;k++) { if(x.a[i][k]==0) continue; for(int j=0;j<X;j++) { add(z.a[i][j],x.a[i][k]

LibreOJ #100. 矩阵乘法

二次联通门 : LibreOJ #100. 矩阵乘法 /* LibreOJ #100. 矩阵乘法 矩阵乘法 注意两个矩阵宽与高相乘的顺序 */ #include <cstdio> #define Max 500 #define Mod 1000000007 int main (int argc, char *argv[]) { static long long a[Max + 1][Max + 1], b[Max + 1][Max + 1]; int N, P, M; scanf("

codevs 3332 数列 (矩阵乘法)

/* 裸地矩阵乘法 矩阵很好想的 1 1 0 0 0 1 1 0 0 */ #include<iostream> #include<cstring> #include<cstdio> #define mod 1000000007 #define ll long long using namespace std; int T,n; ll f[4][4],a[4][4]; void mul(ll a[4][4],ll b[4][4]) { ll c[4][4]; memse

百道Python入门级练习题(新手友好)第一回合——矩阵乘法

题目描述 [问题描述] 编写程序,完成3*4矩阵和4*3整数矩阵的乘法,输出结果矩阵. [输入形式] 一行,供24个整数.以先行后列顺序输入第一个矩阵,而后输入第二个矩阵. [输出形式] 先行后列顺序输出结果矩阵,每个元素的显示宽度为8格,屏幕一行只显示矩阵的一行. [样例输入] 1 2 3 4 5 6 7 8 9 1 2 3 9 8 7 6 5 4 3 2 1 1 2 3 上面的输入,意味着要计算如下两个矩阵的乘积. 第一个矩阵 : 1 2 3 4 5 6 7 8 9 1 2 3 第二个矩阵:

矩阵乘法(超详细!!!)

矩阵是什么? 是一个数字阵列,一个二维数组,n行r列的阵列称为n*r矩阵.如果n==r则称为方阵. 2×3矩阵 5×5方阵 特殊的单位矩阵,除了对角线为1,其他位置为0的矩阵.类似乘法中的1. 3×3单位矩阵I= 矩阵乘法 矩阵乘法中第一个矩阵的列要等于第二个矩阵的行 一个m∗n的的A矩阵,和一个n∗p的B矩阵相乘,将得到一个m∗p的矩阵C 来水道炒鸡简单的习题—— 矩阵 A×B(信息学奥赛一本通 1641) [题目描述] 矩阵 A 规模为 n×m,矩阵 B 规模为 m×p,现需要你求 A×B.

详解矩阵乘法

详解矩阵乘法 本篇随笔详细讲解一下信息学奥林匹克竞赛中矩阵乘法的相关内容.矩阵和矩阵乘法的相关内容是数学中线性代数部分的内容,欢迎有兴趣的读者再自行涉猎一些纯粹的数学上的知识.本篇随笔只针对矩阵乘法在信息学和算法竞赛中的应用进行讲解. 矩阵加减法的概念 所谓矩阵其实就是一个数阵,我们可以把它看作一个二维数组. 这是矩阵的概念. 为了方便后面的学习,我们将一个矩阵记作大写字母,如\(A,B,C\)等等,而类比于二维数组,把矩阵中的每个数都用一个"坐标"来表示,记作:\(A(a,b)\)等

省选算法学习-矩阵与矩阵快速幂

0x00 引入 矩阵,顾名思义,就是由数构成的矩形阵列 比如这样的:$\begin{array}{l}\begin{bmatrix}2&3&4\0&7&13\c&\alpha&\sqrt5\end{bmatrix}\\end{array}$ 就是一个3*3的矩阵 矩阵在信息学乃至数学里面的用处都非常广泛,下面就来介绍下它的一些基本知识,以及常用的地方.本文同时还会介绍矩阵快速幂以及快速矩阵乘法. 0x01 何为矩阵 矩阵的定义 其实就是上面那样的啦.....