【C++】迷宫

迷宫问题求解思路:
  1.在给定迷宫入口的情况下,先把该入口进行入栈操作,并将其值改为2。
  2.然后以栈顶元素的位置作为试探点,向四个方向进行试探。
  3.遇到0值,则为通路,将0值所在位置入栈,并将其值改为2(标识能走得通的)。当栈顶元素位置的行或列为N时,则走出迷宫,return true.否则转(2)。
  4.遇到1值,则该路不通,将试探点的值改为3(标识走了,但走不通的),并将该试探点进行出栈操作,当栈为
    空时,则无走出该迷宫的通路,return false.否则转(2)。
  5.在找到能走出迷宫的一条通路的情况下,开始寻找最优路径
    (思路:先把当前通路作为迷宫的最优路径,并通过栈获得当前通路的size,
   再把当前通路的出口值改为4(堵住此通路)-->再开始重新寻找新的通路,若
   找到,则把新的通路的size与最优路径的size比较,把size较小的通路作为

   最优路径-->依此循环,直至找到所有路径中的最优路径)



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值