虽然用的python写的,但是还是用的c语言的思想。
# -*- coding: utf-8 -*-
"""
Created on Tue Feb 02 16:17:50 2016
@author: kyle
"""
import matplotlib.patches as mpatches
import matplotlib.patheffects as PathEffects
import matplotlib.pyplot as plt
def outputResult(result,length):
global solve_count;
solve_count=solve_count+1;
#drawChessOneShot(result,length,str(solve_count))
print result
# print str(result(i))+','
print solve_count
def Constraint(data,length):
#print data,length
for i in range(0,length):#判断同一列是否冲突
if data[i]==data[length] or abs(data[i]-data[length])==abs(i-length) :
return False
#print 'true'
return True
def eightQuenuenIter(solveData, depth):
if depth_max==depth:
print 's'
outputResult(solveData,depth)
return
for col in range(0,len_max):
solveData[depth]=col
if Constraint(solveData,depth)==True:
eightQuenuenIter(solveData,depth+1)
def main():
eightQuenuenIter(solveData,0)
# drawChessOneShot(1,1)
if __name__ =='__main__' :
solve_count=0
depth_max=8
len_max=8
main();
print solve_count