蓝桥杯--矩阵乘法

http://47.104.209.207/problem/old1059

直接用矩阵乘法的性质,注意0次方的时候是变成单位矩阵。

复制代码
 1 #include<cmath>
 2 #include<iostream>
 3 #include<queue>
 4 #include<vector>
 5 #include<algorithm>
 6 using namespace std;
 7 const int N=40;
 8 int matrix1[N][N],matrix2[N][N];
 9 int t[N][N];
10 int n,m;
11 void mul(){
12     for(int i=0;i<n;i++){
13         for(int j=0;j<n;j++){
14             int sum=0;
15             for(int k=0;k<n;k++){
16                 sum+=matrix1[i][k]*matrix2[k][j];
17             }
18             t[i][j]=sum;
19         }
20     }
21     for(int i=0;i<n;i++){
22         for(int j=0;j<n;j++){
23             matrix2[i][j]=t[i][j];
24         }
25     }
26 }
27 int main(){
28     cin>>n>>m;
29     for(int i=0;i<n;i++){
30         for(int j=0;j<n;j++){
31             cin>>matrix1[i][j];
32             matrix2[i][j]=matrix1[i][j];
33         }
34     }
35     for(int i=0;i<m-1;i++){
36         mul();
37     }
38     if(m>0){
39         for(int i=0;i<n;i++){
40             for(int j=0;j<n;j++){
41                 cout<<matrix2[i][j]<<" ";
42             }
43             cout<<endl;
44         }
45     }else{
46         for(int i=0;i<n;i++){
47             for(int j=0;j<n;j++){
48                 if(i==j) cout<<"1"<<" ";
49                 else cout<<"0"<<" ";
50             }
51             cout<<endl;
52         }
53     }
54     return 0;
55 }
复制代码

 

posted on   greenofyu  阅读(59)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示