Run ID:71928

提交时间:2024-04-27 23:20:59

def print_snaky_matrix(n): # 初始化矩阵,填充0 matrix = [[0] * n for _ in range(n)] # 蛇形矩阵的起始值 value = 1 # 行和列的起始索引 row, col = 0, 0 # 填充矩阵的上三角部分 while value <= n * (n + 1) // 2: for i in range(n): # 向右填充 matrix[row][col] = value col += 1 value += 1 col -= 1 row += 1 # 向下填充 for i in range(n): if row < n: matrix[row][col] = value row += 1 value += 1 row -= 1 col -= 1 # 向左填充 for i in range(n): if col >= 0: matrix[row][col] = value col -= 1 value += 1 col += 1 row -= 1 # 填充矩阵的下三角部分 while value <= n * n: for i in range(n): # 向下填充 if row < n: matrix[row][col] = value row += 1 value += 1 row -= 1 col += 1 # 向右填充 for i in range(n): if col < n: matrix[row][col] = value col += 1 value += 1 col -= 2 row -= 1 # 向上填充 for i in range(n): if row >= 0: matrix[row][col] = value row -= 1 value += 1 # 打印矩阵 for row in matrix: print(' '.join(str(x).rjust(3) for x in row)) # 读取输入 n = int(input().strip()) # 输出蛇形矩阵 print_snaky_matrix(n)