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