| Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 71928 | 胡海峰老师 | 蛇形矩阵 | Python3 | Wrong Answer | 35 MS | 3872 KB | 1748 | 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)
------Input------
4
------Answer-----
1 8 9 16 2 7 10 15 3 6 11 14 4 5 12 13
------Your output-----
1 2 18 4 0 0 17 5 11 0 16 6 12 13 14 15