7 条题解
-
3
python递归有上限,so
import sys
sys.setrecursionlimit(3000)
import sys sys.setrecursionlimit(3000) n=int(input()) f=[[0 for i in range(100)]for j in range(100)] def out(x,y,cnt): cnt+=1 if x>n or y>n or x<1 or y<1 or cnt>n*n: return f[x][y]=cnt if x==1 and y!=n: out(n,y+1,cnt) elif y==n and x!=1: out(x-1,1,cnt) elif x==1 and y==n: out(x+1,y,cnt) elif x!=1 and y!=n: if f[x-1][y+1]==0: out(x-1,y+1,cnt) else: out(x+1,y,cnt) f[1][n//2+1]=1 out(1,(n+1)//2,0) for i in range(1,n+1): for j in range(1,n+1): print(f[i][j],end=' ') print('')
信息
- ID
- 156
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 4
- 标签
- 递交数
- 138
- 已通过
- 68
- 上传者