#被记住的永远是疯子!
基本思想
称为试探法,按选优条件向前搜索,当搜索到某一步,发现原先选择并不优或达不到目标时,就退回一步重新选择,比较经典的问题包括骑士巡逻、八皇后和迷宫寻路等。
骑士巡逻案例
简单的描述一下骑士巡逻,在一个棋盘中,有一个骑士,他是个骑士就会骑着马,众所周知,马走日,因此骑士巡逻的步骤就是:骑士从棋盘中的某一点出发,按日字型的步伐遍历棋盘的每一个点而不重复。
下面的案例代码指定棋盘右下角为骑士的出发点,并未随机。
import sys
import time
# 定义棋盘大小
SIZE = 5
# 定义一个全局变量,用于记录第total种巡游方式。
total = 0
def print_board(board):
for row in board:
for col in row:
print(str(col).center(4), end='')
print</