|
发表于 2017-6-15 21:08:11
|
显示全部楼层
本帖最后由 WelanceLee 于 2017-6-15 21:10 编辑
- def xdd(arr, r):
- if r not in arr:
- arr.append(r)
- action[r] = arr[index]
- return arr
- start = (0, 0)
- queue = [start]
- action = {}
- index = 0
- while True:
- q = queue[index]
- if q[0] == 2 or q[1] == 2:
- break
- xdd(queue, (7, q[1]))
- xdd(queue, (0, q[1]))
- xdd(queue, (q[0], 0))
- xdd(queue, (q[0], 11))
- x = q[0] + q[1]
- if x <= 7:
- xdd(queue, (x, 0))
- xdd(queue, (0, x))
- if 7 < x < 11:
- xdd(queue, (7, x - 7))
- xdd(queue, (0, x))
- if x >= 11:
- xdd(queue, (x - 11, 11))
- xdd(queue, (7, x - 7))
- index += 1
- solution = [(0,0)]
- while q != (0, 0):
- solution.insert(1, q)
- q = action[q]
- for each in solution:
- print(each)
-
复制代码
没用pop,直接在queue里面看状态是不是走过 |
|