Python求助!!
查看原帖
Python求助!!
544449
Lilium_Yuri楼主2023/7/11 10:58
def dfs(x, y, step):
    if x < 0 or x >= n or y < 0 or y >= m or dist[x][y] != -1:
        return
    if(step<dist[x][y]  and dist[x][y]!=-1):
        dist[x][y]=step
    else:
        if(dist[x][y]==-1):
          dist[x][y]=step  
    dfs(x+2, y+1, step+1)
    dfs(x+2, y-1, step+1)
    dfs(x-2, y+1, step+1)
    dfs(x-2, y-1, step+1)
    dfs(x+1, y+2, step+1)
    dfs(x+1, y-2, step+1)
    dfs(x-1, y+2, step+1)
    dfs(x-1, y-2, step+1)

n, m, x, y = map(int, input().split())
dist = [[-1] * m for _ in range(n)]
dfs(x-1, y-1, 0)
for row in dist:
    print(*row)

2023/7/11 10:58
加载中...