干迷宫

Posted yeers

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了干迷宫相关的知识,希望对你有一定的参考价值。

#创建迷宫
maze = [
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 0, 1, 1, 0, 0, 0, 1, 1, 1],
[1, 0, 1, 1, 1, 1, 0, 1, 1, 1],
[1, 0, 1, 0, 0, 0, 0, 1, 1, 1],
[1, 0, 1, 0, 1, 1, 1, 1, 1, 1],
[1, 0, 0, 0, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 0, 0, 0, 0, 1, 1, 1],
[1, 1, 1, 0, 0, 1, 0, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 0, 0, 0, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
]
# lst[(1, 1), (2, 1), (3, 1)]
#设置起点
#设置终点

start = (1, 1)
end = (8, 8)

#判断当前这个点,上下左右是0 还是1 如果是0 可以走
#下:r + 1 ,c
#右:r, c+1
#左:r, c-1
#上:r-1,c


#栈:先进后出:
#list就是一个栈
# lst = []
# lst.append(‘胡辣汤‘)
# lst.append(‘张无忌‘)
# lst.append(‘灭绝‘)
# lst.append(‘张三‘)
lst = [start]

while lst:
#列表有东西才能继续向前走
now = lst[-1]
if now == end:
print(‘出来了‘)
print(lst)
break
row, col = now #解构
maze[row][col] = 2
if maze[row - 1][col] == 0:
lst.append((row - 1, col))
elif maze[row][col + 1] == 0:
lst.append((row, col + 1))
elif maze[row][col - 1] == 0:
lst.append((row, col - 1))
elif maze[row + 1][col] == 0:
lst.append((row + 1, col))
else:
lst.pop()


else:
print("迷宫是走不通的")

以上是关于干迷宫的主要内容,如果未能解决你的问题,请参考以下文章

迷宫生成

迷宫问题

〔C++算法分析〕迷宫问题

C的迷宫问题

简单的迷宫算法

跪求高手 数据结构迷宫问题