五一假日闲来无事,学习了下Python,用马的遍历算法作为这几天学习的总结:
#coding=utf-8
#马的遍历算法
import time
start = time.clock()
A = 6
print 'A = %d' % A
#X = [[0] * A] * A #X为A*A的二维数组,初始值为0
X = [[0 for a in range(A)] for b in range(A)]
zf = [[1,2],[2,1],[2,-1],[1,-2],[-1,-2],[-2,-1],[-2,1],[-1,2]]
#zf为马的八种走法
finish = [[0,0,-1]] #已完成的,这是入口
X[0][0] = 1
def next(cur_zf):
if cur_zf[2] >= 7 :
return None
cur_zf[2] = cur_zf[2] + 1 #下一个可行的路线
m = cur_zf[0] + zf[cur_zf[2]][0] #下一个可行路线的m坐标值
n = cur_zf[1] + zf[cur_zf[2]][1] #下一个可行路线的n坐标值
#print cur_zf[0], cur_zf[1]
#print (zf[cur_zf[2]][0],zf[cur_zf[2]][1])
if m <
