【郑轻】[1127]矩阵乘积

文章字数:430

问题描述

矩阵乘积
时间限制:1 Sec内存限制:128 MB

Description

计算两个矩阵A和B的乘积。

Input

第一行三个正整数m、p和n,0<=m,n,p<=10,表示矩阵A是m行p列,矩阵B是p行n列; 接下来的m行是矩阵A的内容,每行p个整数,用空格隔开; 最后的p行是矩阵B的内容,每行n个整数,用空格隔开。

Output

输出乘积矩阵:输出占m行,每行n个数据,以空格隔开。

Sample Input

1
2
3
4
5
6
7
8
2 3 4

1 0 1
0 0 1

1 1 1 3
4 5 6 7
8 9 1 0

Sample Output

1
2
9 10 2 3
8 9 1 0

问题分析

矩阵乘法:
结果矩阵第m行与第n列交叉位置的那个值,等于第一个矩阵第m行与第二个矩阵第n列,对应位置的每个值的乘积之和。
理解矩阵乘法 - 阮一峰的网络日志
如果用数组硬算也可以
但是这里写的高级一点
用结构体重载运算符
进而可以直接进行结构体乘法运算
然后直接输出就行

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
#include<stdio.h>
int n;
int map[12][12];
bool IsUpperTriMatrix() {
    for(int i=1; i<n; i++)
        for(int j=0; j<i; j++)
            if(map[i][j])
                return false;
    return true;
}
int main() {
    while(scanf("%d",&n)!=EOF) {
        for(int i=0; i<n; i++)
            for(int j=0; j<n; j++)
                scanf("%d",&map[i][j]);
        printf("%s\n",IsUpperTriMatrix()?"YES":"NO");
    }
    return 0;
}

题目地址:【郑轻】[1125]上三角矩阵的判断

该内容采用 CC BY-NC-SA 4.0 许可协议。

如果对您有帮助或存在意见建议,欢迎在下方评论交流。

加载中...