Run ID:72058

提交时间:2024-04-30 19:23:38

def generate_spiral_matrix(N): matrix = [[0] * N for _ in range(N)] num = 1 top, bottom, left, right = 0, N - 1, 0, N - 1 # 从外向内逐层填入数字 while num <= N * N: for i in range(top, bottom + 1):# 从上到下填入数字 matrix[i][right] = num num += 1 right -= 1 for i in range(right, left - 1, -1):# 从右到左填入数字 matrix[bottom][i] = num num += 1 bottom -= 1 for i in range(bottom, top - 1, -1): # 从下到上填入数字 matrix[i][left] = num num += 1 left += 1 for i in range(left, right + 1): # 从左到右填入数字 matrix[top][i] = num num += 1 top += 1 return matrix N = int(input()) matrix = generate_spiral_matrix(N) for row in matrix: print(*row)