Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
72375 | 陆宥呈 | 方阵填数 | Python3 | Accepted | 31 MS | 3820 KB | 807 | 2024-05-05 12:57:07 |
def fangzhen(n): ma = [[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): ma[i][right] = num num += 1 right -= 1 for i in range(right, left - 1, -1): ma[bottom][i] = num num += 1 bottom -= 1 for i in range(bottom, top - 1, -1): ma[i][left] = num num += 1 left += 1 for i in range(left, right + 1): ma[top][i] = num num += 1 top += 1 return ma def print_ma(ma): for row in ma: for char in row: print(char,end=' ') print() N = int(input()) res = fangzhen(N) print_ma(res)