当前位置: 代码迷 >> 综合 >> AcWing BFS相关问题 1076. 迷宫问题
  详细解决方案

AcWing BFS相关问题 1076. 迷宫问题

热度:47   发布时间:2024-02-07 04:10:35.0
import sys
sys.stdin = open('data.txt', 'r')'''
简单bfs应用
'''from collections import dequegrid = []
n = int(input())
for i in range(n):grid.append( list(map(int, input().split())) )prev = {(0, 0): None}   # 记录路径
que = deque()
que.append((0, 0))
visited = [[0] * n for _ in range(n)]
visited[0][0] = 1while len(que) > 0:i, j = que.popleft()if i == n-1 and j == n-1:breakfor ii, jj in [[i-1, j], [i+1, j], [i, j-1], [i, j+1]]:if ii >= 0 and ii < n and jj >= 0 and jj < n and visited[ii][jj] == 0 and grid[ii][jj] == 0:visited[ii][jj] = 1que.append((ii, jj))prev[(ii, jj)] = (i, j)cur = (n-1, n-1)
que = deque()
while cur != None:que.appendleft((cur))cur = prev[cur]
for i, j in que:print(i, j)