应该是填入算法上错了,但是本蒟蒻看不出来
def insert(k,prex,prey):
if prex == 0 and prey != n-1 and k<n**2:
matrix[n-1][prey+1] = k
return insert(k+1,n-1,prey+1)
if prey == n-1 and prex != 0 and k<n**2:
matrix[prex-1][0] = k
return insert(k+1,prex-1,0)
if prex == 0 and prey == n-1 and k<n**2:
matrix[prex+1][prey] = k
return insert(k+1,prex+1,prey)
if prex != 0 and prey != n-1 and matrix[prex-1][prey+1] == 0 and k<n**2:
matrix[prex-1][prey+1] = k
return insert(k+1,prex-1,prey+1)
else:
if k<n**2:
matrix[prex+1][prey] = k
return insert(k+1,prex+1,prey)
n = int(input())
matrix = [[0]*n for j in range(n)]
matrix[0][n//2] = 1
insert(1,0,n//2)
for i in range(n):
for j in range(n):
print(matrix[i][j],end=" ")
print()