Run ID 作者 问题 语言 测评结果 Time Memory 代码长度 提交时间
77707 贺志涵 方阵填数 Python3 Wrong Answer 37 MS 3804 KB 721 2024-06-15 11:23:54

Tests(0/3):


Code:

n=int(input("N是多少?")) m=[[0 for _ in range(n) ] for _ in range(n)] #被0填满的二维列表 #c = [0 for _ in range(5)] #列表名=[预设元素 for _ in range(列表长度)] if n==1: print(" "+str(1)) elif n%2==1: x,y = 0,n-1 m[x][y]=1 dx = [1,0,-1,0] dy = [0,-1,0,1] d = 0 for i in range(2,n*n+1): next_x=x + dx[d] next_y=y + dy[d] if not(0<=next_x<n)or not(0<=next_y<n) or m[next_x][next_y]!=0: d = (d+1)%4 next_x=x + dx[d] next_y=y + dy[d] x,y=next_x,next_y#每次变化都记录 m[x][y]=i for i in range(n): for j in range(n): print(m[i][j],end='\t') print()


Run Info:

------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-----