diff options
| author | Shinya Sato <shinnya.sato@gmail.com> | 2022-08-28 20:44:20 +0900 |
|---|---|---|
| committer | Shinya Sato <shinnya.sato@gmail.com> | 2022-08-28 20:44:20 +0900 |
| commit | baa27f2adf0ad741add152bcbca6ffbd312ef066 (patch) | |
| tree | d4a345ec3cf0bcaccf1ac293cd6ad50802bf9224 /comparison/Python/nqueen-12.py | |
| parent | e50f2cf8ccab628d0cc90823389355242a23a28a (diff) | |
| parent | b850b9d9e64c12a927bfc2692b4134b23ef79be5 (diff) | |
| download | inpla-baa27f2adf0ad741add152bcbca6ffbd312ef066.tar.gz inpla-baa27f2adf0ad741add152bcbca6ffbd312ef066.zip | |
Merge branch 'develop'
Diffstat (limited to 'comparison/Python/nqueen-12.py')
| -rw-r--r-- | comparison/Python/nqueen-12.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/comparison/Python/nqueen-12.py b/comparison/Python/nqueen-12.py new file mode 100644 index 0000000..494131f --- /dev/null +++ b/comparison/Python/nqueen-12.py @@ -0,0 +1,27 @@ +def threat(k, m, alist): + if alist == []: + return False + else: + x = alist[0] + if (k == x-m) or (k == m-x): + return True + else: + return threat(k+1, m, alist[1:]) + +def queen1(m, b, n): + if m == 0: + return [] + else: + if (m in b) or threat(1, m, b): + return queen1(m-1, b, n) + elif len(b) == n-1: + return [[m]+b] + (queen1(m-1, b, n)) + else: + return queen1(n, [m]+b, n) + (queen1(m-1, b, n)) + + +def queen(n): + return queen1(n,[],n) + +n=12 +print(len(queen(12))) |
