匿名用户
1级
2011-12-08 回答
print dir(list)
from util import Queue
queue=Queue()
result_list=[]
tree_list = [] #他存储上下两个状态和动作信息
currentState=problem.startState
problem._visitedlist.append(currentState)
queue.push(currentState)
bl=0
while(bl==0):
currentState = queue.pop()
successor = problem.getSuccessors(currentState)
for each in successor: #'each' is like ((34,15),'west',1)
temp=each[0]
if(each[0] not in problem._visitedlist):
# print each
temp=(each,currentState)
tree_list.append(temp)
problem._visitedlist.append(each[0])
queue.push(each[0])
if problem.isGoalState(each[0]):
bl=1
break
result_list.append(temp[0][1])
parent=temp[1]
first=problem.startState
while(parent!=first):
for each in tree_list:
if(each[0][0]==parent):
result_list.append(each[0][1])
parent=each[1]
break
result_list.reverse()
print result_list
return result_list
#print tree_list