代码
dir = [[2,-1],[2,1],[1,2],[-1, 2], [-2,1],[-2, -1], [-1,-2],[1,-2]]
def bfs(s):
maze = [[-1 for x in range(m)] for y in range(n)]
maze[s[0]][s[1]] = 0
queue = []
queue.insert(0, s)
while queue != []:
front = queue.pop()
for i in range(8):
cx = front[0] + dir[i][0]
cy = front[1] + dir[i][1]
if cx >= 0 and cx < m and cy >= 0 and cy < n and maze[cx][cy] == -1:
maze[cx][cy] = maze[front[0]][front[1]] + 1
queue.insert(0, (cx, cy))
return maze
m,n,x0,y0 = map(int, input().split())
ans = bfs([x0-1,y0-1])
for x in ans:
for y in x:
print(y, end=' ')
print()
做完啦! 结果点击提交显示不能提交此题目。