from game import Directions from util import Stack stack = Stack() fatherStack = Stack() moveDir = [] # record the pacman move direction result = [] # the correct lines temp = {} startState = problem.getStartState() # start the position moveStart = [startState, Directions.STOP, 0] stack.push(moveStart) fatherStack.push(moveStart) flag = False while True: if stack.isEmpty(): print "can not find food" if flag==False: movement = stack.pop() fatherNode = fatherStack.pop() else: fatherNode = fatherStack.pop() movement = stack.pop() while True: temp = moveDir.pop() if temp == fatherNode: moveDir.append(temp) break if problem.isGoalState(movement[0]): moveDir.append(movement) for each in moveDir: result.append(each[1]) return result[1:] moveDir.append(movement) nextMovements = problem.getSuccessors(movement[0]) if nextMovements != None: for i in nextMovements: print i if i[0] not in problem._visitedlist: fatherStack.push(movement) stack.push(i) else: flag = True
深度优先算法python_python实现 深度优先算法
最新推荐文章于 2024-05-06 14:57:26 发布