#include<iostream>#include<string>#include<cstring>#include<set>#include<algorithm>#include<cmath>using namespace std;int main(){ long n,m,i,j,k,kk; long a[31][31],b[31][31],c[31][31]={0}; cin>>n>>m; for(i=0;i<n;i++) for(j=0;j<n;j++) { long data; cin>>data; a[i][j]=data; b[i][j]=data; } if(m==0) { for(i=0;i<n;i++) c[i][i]=1; } else if(m==1) { for(i=0;i<n;i++) for(j=0;j<n;j++) c[i][j]=b[i][j]; } else { for(kk=1;kk<m;kk++) { for(i=0;i<n;i++) for(j=0;j<n;j++) { c[i][j]=0; for(k=0;k<n;k++) { c[i][j]=c[i][j]+a[i][k]*b[k][j]; } } //复制一下中间结果 for(i=0;i<n;i++) for(j=0;j<n;j++) a[i][j]=c[i][j]; } } for(i=0;i<n;i++) { for(j=0;j<n;j++) cout<<c[i][j]<<" "; cout<<endl; } return 0;}
新闻热点
疑难解答