标签:
1 #include<iostream> 2 #include<string.h> 3 using namespace std; 4 int main(){ 5 int A[35][35],n,m,B[35][35],C[35][35]; 6 cin>>n; 7 cin>>m; 8 for(int i = 0;i < n;i++){ 9 for(int j = 0;j < n;j++) 10 cin>>A[i][j]; 11 } 12 13 memset(C,0,sizeof(C)); 14 if(m){ 15 for(int i = 0;i < n;i++){ 16 for(int j = 0;j < n;j++) 17 B[i][j] = A[i][j]; 18 } 19 for(int i = 0; i < m - 1;i++){ 20 for(int j = 0;j < n;j++){ 21 for(int k = 0;k < n;k++){ 22 for(int x = 0;x < n;x++) 23 C[j][k] += B[j][x] * A[x][k]; 24 } 25 } 26 for(int a = 0;a < n;a++){ 27 for(int b = 0;b < n;b++) 28 B[a][b] = C[a][b]; 29 } 30 memset(C,0,sizeof(C)); 31 } 32 33 } 34 else{ 35 memset(B,0,sizeof(B)); 36 for(int i = 0;i < n;i++){ 37 B[i][i] = 1; 38 } 39 } 40 for(int i = 0;i < n;i++){ 41 for(int j = 0;j < n;j++) 42 cout<<B[i][j]<<‘ ‘; 43 cout<<endl; 44 } 45 return 0; 46 }
矩阵0次幂为单位矩阵要考虑进去
基础练习 矩阵乘法 时间限制:1.0s 内存限制:512.0MB
标签:
原文地址:http://www.cnblogs.com/chenzhiyuan/p/5186699.html