Run ID 作者 问题 语言 测评结果 Time Memory 代码长度 提交时间
77742 柯轶炜 方阵填数 Python3 Accepted 41 MS 3824 KB 788 2024-06-15 11:41:12

Tests(3/3):


Code:

n=int(input()) m=[[0 for _ in range(n)]for _ in range(n)] #被0填满的二维列表 #c=[0 for _ in range(5)] #列表名=[预设元素 for _ in range(列表长度)] if 0<n<=100: if n==1: print(1) else: 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=" ") print()