矩阵幂
#include<stdio.h>
//矩阵乘法
void cf(int a[20][20],int b[20][20],int result[20][20],int n){for(int i=0;i<n;i++){for(int j=0;j<n;j++){result[i][j]=0;for(int k=0;k<n;k++){result[i][j]+=a[i][k]*b[k][j];}}}
}void print(int a[20][20],int n){for(int i=0;i<n;i++){for(int j=0;j<n;j++){if(j>0)printf(" ");printf("%d",a[i][j]);}printf("\n"); }
}
int main(){int n,k;while(scanf("%d %d",&n,&k)!=EOF){int a[20][20];int result[20][20];for(int i=0;i<n;i++){for(int j=0;j<n;j++){scanf("%d",&a[i][j]);}}//单位矩阵for(int i=0;i<n;i++){for(int j=0;j<n;j++){if(i==j)result[i][j]=1;elseresult[i][j]=0;}} while(k--){int temp[20][20];cf(result,a,temp,n);for(int i=0;i<n;i++){for(int j=0;j<n;j++)result[i][j]=temp[i][j];}}print(result,n);
}return 0;
}