题解 | #回型矩阵#有限状态机才是正解

回型矩阵

http://www.nowcoder.com/practice/36d5dfddc22c4f5b88a5b2a9de7db343

参考楼上有限状态机,改了改x,y的顺序,更喜欢顺着坐标系,而不是顺着row和colomn。

n = int(input())
position = [[-1 for _ in range(0,n)]for _ in range(0,n)]
direction = [[1,0],[0,1],[-1,0],[0,-1]]
state = 0
cnt = 0
trace = []
x,y=0,0
for p in range(n**2):
    cnt+=1
    position[x][y]=cnt
    trace.append([x,y])
    x+=direction[state%4][0]
    y+=direction[state%4][1]
    if ([x,y] in trace) or x>=n or x<0 or y <0 or y>=n:
        x-=direction[state%4][0]
        y-=direction[state%4][1]
        state+=1
        x+=direction[state%4][0]
        y+=direction[state%4][1]
for i in range(0,n):
    for j in range(0,n):
        print(position[j][i],end=" ")
    print()
        
        
        
        
    

全部评论
什么是有限状态机??
点赞 回复 分享
发布于 2022-08-02 10:00

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务