class queens(object):
def __init__(self,Num):
self.Num = Num
a,self.ans = list(range(Num)),[]
import itertools
for B in itertools.permutations(a):
Flag,N = True,list(enumerate(B))
for (x,y) in itertools.combinations(N,2):
if abs(x[0]-y[0]) == abs(x[1]-y[1]):
Flag = False
break
if Flag:
self.ans.append( N )
def __str__(self):
return str(self.ans)
def fact(x):
if x<=1:return x
else: return x*fact(x-1)
import time
START = time.time()
Num = 11
print fact(Num)
A = queens(Num)
END=time.time()
print len(A.ans),END-START