defmatrix_2mi(a, b):
J =range(N)
K =range(N)
I =range(N)return[[sum(a[i][j]* b[j][k]for j in J)for k in K]for i in I]
完整代码
defmatrix_2mi(a, b):
J =range(N)
K =range(N)
I =range(N)return[[sum(a[i][j]* b[j][k]for j in J)for k in K]for i in I]
N, M =map(int,input().split())
matrix =[]for i inrange(N):
juzhen =list(map(int,input().split()))
matrix.append(juzhen)
out_matrix =[]if M ==0:for i inrange(N):
out_matrix.append([0]* N)for i inrange(N):
out_matrix[i][i]=1else:
out_matrix = matrix
for i inrange(M-1):#2次幂只循环1次
out_matrix = matrix_2mi(out_matrix, matrix)#print(out_matrix)for i inrange(N):for j inrange(N):print(out_matrix[i][j], end ='')if j !=(N -1):print(end =' ')print(end ='\n')