codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
def solve(n, st, f): size = len(st) if n == size: f(tuple(st)) return for x in xrange(size): for y_ in xrange(n): x_ = st[y_] - x if not x_ or abs(x_) == n - y_: break else: st[n] = x solve(n+1, st, f) def queens(size, f): solve(0, [0]*size, f) def print_(p): for y, x in enumerate(p): print (x+1, y+1), print queens(8, print_) def test(): result = [] queens(8, result.append) from time import time t = time() for _ in xrange(100): test() t = time() - t print t*1000, '[ms]'
Private
[
?
]
Run code
Submit