解题思路:
注意事项:
参考代码:
#include<iostream>
using namespace std;
int m, n;
int a[30][30], b[30][30], c[30][30];
int pow()
{
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
for (int k = 0; k < n; k++)
{
c[i][j] += a[i][k] * b[k][j];
}
}
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
a[i][j] = c[i][j];
c[i][j] = 0;
}
}
return 0;
}
int main()
{
cin >> n >> m;
int c = m;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
cin>>a[i][j];
b[i][j]=a[i][j];
}
}
if (c == 0)
{
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (i == j)
{
a[i][j] = 1;
}
else
{
a[i][j] = 0;
}
}
}
}
while (c > 1)
{
pow();
c--;
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
cout << a[i][j] << " ";
}
cout << endl;
}
return 0;
}
0.0分
0 人评分