from itertools import permutations
import random
import pprint
import timeit
start_time = timeit.default_timer()
count = 0
def gird(board_size):
print ("\n".join('# ' * inrange + 'Q ' + '# ' * (8-inrange-1)\
for inrange in board_size) + "\n\n= = new board \n")
count+=1
coloms = range(8)
for board_size in permutations(coloms):
if 8 == len(set(board_size[inrange]+inrange for inrange in coloms)):
if 8 == len(set(board_size[inrange]-inrange for inrange in coloms)):
gird(board_size)
elapsed = timeit.default_timer() - start_time
print(elapsed)
print(count)
Run Code Online (Sandbox Code Playgroud)
我想看看这段代码运行了多少次。我必须衡量搜索成本(迭代次数,直到达到最小值)和已解决问题的百分比。这是一个8皇后问题。
python ×1