蓝桥杯-矩阵乘法

简介: 矩阵乘法

Problem Description:


给定一个N阶矩阵A,输出A的M次幂(M是非负整数)  

例如:  

A  =  

1  2  

3  4  

A的2次幂  

7  10  

15  22  


Input:


第一行是两个整数N、M(1< =N< =30,  0< =M< =5),表示矩阵A的阶数和要求的幂数

接下来N行,每行N个不超过10的非负整数,描述矩阵A的值。  


Output:


输出共N行,每行N个整数,表示A的M次幂所对应的矩阵。每个数后有一个空格。  


Sample Input:


2 2

1 2

3 4  


Sample Output:


7 10

15 22  


提示:


 

要注意m等于0和不等于0的情况


程序代码:


#include <iostream>
using namespace std;
long long int b[40][40];
int main()
{
    int n,m;
    cin>>n>>m;
    long long int a[40][40];
    long long int t[40][40];
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
  {
            cin>>a[i][j];
            t[i][j]=a[i][j];
        }
    }
    if(m==0)
    {
        for(int i=0;i<n;i++)
  {
            for(int j=0;j<n;j++)
      {
                if(i!=j)
    {
                    cout<<0<<" ";
                }
    else
    {
                    cout<<1<<" ";
                }
            }
            cout<<endl;
        }
        return 0;
    }
    while(--m)
    {
        for(int i=0;i<n;i++)
  {
            for(int j=0;j<n;j++)
      {
                int k=n;
                while(k)
    {
                    b[i][j]+=t[i][k-1]*a[k-1][j];
                    k--;
                }
            }
        }
        for(int i=0;i<n;i++)
  {
            for(int j=0;j<n;j++)
      {
                t[i][j]=b[i][j];
                b[i][j]=0;
            }
        }
    }
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
  {
            cout<<t[i][j]<<" ";
        }
        cout<<endl;
    }
    return 0;
}


相关文章
|
7月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-48 算法训练 关联矩阵
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-48 算法训练 关联矩阵
70 0
|
7月前
|
算法 Java C++
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-709 火星人乘法
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-709 火星人乘法
80 0
|
7月前
|
人工智能 Java BI
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-86 矩阵乘法
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-86 矩阵乘法
57 0
|
7月前
|
算法
蓝桥杯vip测试题系统试题-算法提高 矩阵转置
蓝桥杯vip测试题系统试题-算法提高 矩阵转置
66 0
|
存储
蓝桥杯19国赛-矩阵计数
蓝桥杯19国赛-矩阵计数
93 0
|
Java C语言 C++
备战蓝桥杯【高精度乘法和高精度除法】
备战蓝桥杯【高精度乘法和高精度除法】
107 0
备战蓝桥杯【高精度乘法和高精度除法】
蓝桥杯之单片机学习(二十)——自创模板(最少省三,实现初始化、数码管显示、HC138独立按键(或矩阵键盘))
蓝桥杯之单片机学习(二十)——自创模板(最少省三,实现初始化、数码管显示、HC138独立按键(或矩阵键盘))
205 0
蓝桥杯之单片机学习(二十)——自创模板(最少省三,实现初始化、数码管显示、HC138独立按键(或矩阵键盘))
蓝桥杯之单片机学习(六)——矩阵键盘的扫描原理与基本应用
蓝桥杯之单片机学习(六)——矩阵键盘的扫描原理与基本应用
223 0
蓝桥杯之单片机学习(六)——矩阵键盘的扫描原理与基本应用
|
存储 C++
蓝桥杯练习题六 - 大数乘法(c++)
蓝桥杯练习题六 - 大数乘法(c++)
198 0
蓝桥杯练习题六 - 大数乘法(c++)