经本人鉴定,此乃一水题……
#include"iostream"
using namespace std;
struct Point
{
int c[30][30];
};
int n,m;
Point operator*(Point &a,Point &b)
{
Point rst;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
{
int sum=0;
for(int k=0;k<n;k++)
sum+=a.c[i][k]*a.c[k][j];
rst.c[i][j]=sum;
}
return rst;
}
int main()
{
cin>>n>>m;
Point rst,e;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
cin>>e.c[i][j];
for(int i=0;i<n-1;i++)
rst=e*rst;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
cout<<rst.c[i][j]<<" ";
cout<<endl;
}
return 0;
}