| Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 72374 | 陆宥呈 | 方阵填数 | Python3 | Wrong Answer | 37 MS | 3784 KB | 798 | 2024-05-05 12:56:45 |
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 = 5 res = fangzhen(N) print_ma(res)
------Input------
10
------Answer-----
28 29 30 31 32 33 34 35 36 1 27 58 59 60 61 62 63 64 37 2 26 57 80 81 82 83 84 65 38 3 25 56 79 94 95 96 85 66 39 4 24 55 78 93 100 97 86 67 40 5 23 54 77 92 99 98 87 68 41 6 22 53 76 91 90 89 88 69 42 7 21 52 75 74 73 72 71 70 43 8 20 51 50 49 48 47 46 45 44 9 19 18 17 16 15 14 13 12 11 10
------Your output-----
13 14 15 16 1 12 23 24 17 2 11 22 25 18 3 10 21 20 19 4 9 8 7 6 5