質問編集履歴
5
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,36 +1,12 @@
|
|
1
1
|
> 引用テキストPythonの8クイーン問題についてです。
|
2
2
|
|
3
|
-
8クイーンの解を求め、
|
3
|
+
8クイーンの解を求め、回転させるプログラムを書こうとしています。
|
4
4
|
|
5
|
-
92通りの並べ方は出せたのですが、
|
5
|
+
92通りの並べ方は出せたのですが、回転させるプログラムと言われると途端にわからなくなってしまいました。
|
6
6
|
|
7
7
|
図が提示されている場合、回転したクイーンの位置を数字では表せますがプログラミングはどのようになるのでしょうか。
|
8
8
|
|
9
9
|
どなたか教えていただけると幸いです。
|
10
10
|
初めて質問するので不手際がありましたらすみません。
|
11
11
|
|
12
|
-
|
12
|
+
参考書を見ながら92通りの並べ方は出せました。
|
13
|
-
> Pythonではじめるアルゴリズム入門 伝統的なアルゴリズムで学ぶ定石と計算量を見ながら下のプログラミングを書きました。
|
14
|
-
```
|
15
|
-
N = 8
|
16
|
-
def check(x,col):
|
17
|
-
for i, row in enumerate(reversed(col)):
|
18
|
-
if (x + i + 1 == row ) or (x -i - 1 == row):
|
19
|
-
return False
|
20
|
-
return True
|
21
|
-
|
22
|
-
def search(col):
|
23
|
-
if len(col) == N: #すべて配置できれば出力
|
24
|
-
print(col)
|
25
|
-
return
|
26
|
-
|
27
|
-
for i in range(N):
|
28
|
-
if i not in col: #同じ行は使わない
|
29
|
-
if check(i, col):
|
30
|
-
col.append(i)
|
31
|
-
search(col)
|
32
|
-
col.pop()
|
33
|
-
|
34
|
-
search([])
|
35
|
-
コード
|
36
|
-
```
|
4
引用元を明記しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
Pythonの8クイーン問題についてです。
|
1
|
+
> 引用テキストPythonの8クイーン問題についてです。
|
2
2
|
|
3
3
|
8クイーンの解を求め、90度・180度・270度回転させるプログラムを書こうとしています。
|
4
4
|
|
@@ -10,6 +10,7 @@
|
|
10
10
|
初めて質問するので不手際がありましたらすみません。
|
11
11
|
|
12
12
|
ここまでやって92通りの並べ方は出しました。
|
13
|
+
> Pythonではじめるアルゴリズム入門 伝統的なアルゴリズムで学ぶ定石と計算量を見ながら下のプログラミングを書きました。
|
13
14
|
```
|
14
15
|
N = 8
|
15
16
|
def check(x,col):
|
3
title
CHANGED
File without changes
|
body
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
初めて質問するので不手際がありましたらすみません。
|
11
11
|
|
12
12
|
ここまでやって92通りの並べ方は出しました。
|
13
|
-
|
13
|
+
```
|
14
14
|
N = 8
|
15
15
|
def check(x,col):
|
16
16
|
for i, row in enumerate(reversed(col)):
|
@@ -30,4 +30,6 @@
|
|
30
30
|
search(col)
|
31
31
|
col.pop()
|
32
32
|
|
33
|
-
search([])
|
33
|
+
search([])
|
34
|
+
コード
|
35
|
+
```
|
2
title
CHANGED
File without changes
|
body
CHANGED
@@ -7,6 +7,7 @@
|
|
7
7
|
図が提示されている場合、回転したクイーンの位置を数字では表せますがプログラミングはどのようになるのでしょうか。
|
8
8
|
|
9
9
|
どなたか教えていただけると幸いです。
|
10
|
+
初めて質問するので不手際がありましたらすみません。
|
10
11
|
|
11
12
|
ここまでやって92通りの並べ方は出しました。
|
12
13
|
|
1
8クイーンの解を求めるプログラミングまでは出せましたがここからがわかりません
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,4 +6,27 @@
|
|
6
6
|
|
7
7
|
図が提示されている場合、回転したクイーンの位置を数字では表せますがプログラミングはどのようになるのでしょうか。
|
8
8
|
|
9
|
-
どなたか教えていただけると幸いです。
|
9
|
+
どなたか教えていただけると幸いです。
|
10
|
+
|
11
|
+
ここまでやって92通りの並べ方は出しました。
|
12
|
+
|
13
|
+
N = 8
|
14
|
+
def check(x,col):
|
15
|
+
for i, row in enumerate(reversed(col)):
|
16
|
+
if (x + i + 1 == row ) or (x -i - 1 == row):
|
17
|
+
return False
|
18
|
+
return True
|
19
|
+
|
20
|
+
def search(col):
|
21
|
+
if len(col) == N: #すべて配置できれば出力
|
22
|
+
print(col)
|
23
|
+
return
|
24
|
+
|
25
|
+
for i in range(N):
|
26
|
+
if i not in col: #同じ行は使わない
|
27
|
+
if check(i, col):
|
28
|
+
col.append(i)
|
29
|
+
search(col)
|
30
|
+
col.pop()
|
31
|
+
|
32
|
+
search([])
|