Run ID 作者 问题 语言 测评结果 Time Memory 代码长度 提交时间
78719 彭士宝 数字方阵 Python3 Wrong Answer 39 MS 3832 KB 1367 2024-06-26 21:26:35

Tests(0/2):


Code:

def generate_spiral_matrix(n): # 初始化矩阵,所有元素设为0 matrix = [[0] * n for _ in range(n)] # 螺旋矩阵的起始位置 start_row, start_col = 0, 0 end_row, end_col = n - 1, n - 1 num = 1 while start_row <= end_row and start_col <= end_col: # 填充从左到右的行 for i in range(start_col, end_col + 1): matrix[start_row][i] = num num += 1 start_row += 1 # 填充从上到下的列 for i in range(start_row, end_row + 1): matrix[i][end_col] = num num += 1 end_col -= 1 # 填充从右到左的行 if start_row <= end_row: for i in range(end_col, start_col - 1, -1): matrix[end_row][i] = num num += 1 end_row -= 1 # 填充从下到上的列 if start_col <= end_col: for i in range(end_row, start_row - 1, -1): matrix[i][start_col] = num num += 1 start_col += 1 return matrix # 读取输入 n = int(input("Enter the size of the matrix (n, 2<=n<=9): ")) # 生成方阵 spiral_matrix = generate_spiral_matrix(n) # 打印方阵 for row in spiral_matrix: print(' '.join(map(str, row)))


Run Info:

------Input------
5
------Answer-----
1 1 1 1 1 1 2 2 2 1 1 2 3 2 1 1 2 2 2 1 1 1 1 1 1
------Your output-----
Enter the size of the matrix (n, 2<=n<=9): 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9