teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

2020/08/25 03:10

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,36 +1,12 @@
1
1
  > 引用テキストPythonの8クイーン問題についてです。
2
2
 
3
- 8クイーンの解を求め、90度・180度・270度回転させるプログラムを書こうとしています。
3
+ 8クイーンの解を求め、回転させるプログラムを書こうとしています。
4
4
 
5
- 92通りの並べ方は出せたのですが、解を求め回転させるプログラムと言われると途端にわからなくなってしまいました。
5
+ 92通りの並べ方は出せたのですが、回転させるプログラムと言われると途端にわからなくなってしまいました。
6
6
 
7
7
  図が提示されている場合、回転したクイーンの位置を数字では表せますがプログラミングはどのようになるのでしょうか。
8
8
 
9
9
  どなたか教えていただけると幸いです。
10
10
  初めて質問するので不手際がありましたらすみません。
11
11
 
12
- ここまでやって92通りの並べ方は出ました。
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

引用元を明記しました。

2020/08/25 03:10

投稿

退会済みユーザー
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

2020/08/19 16:11

投稿

退会済みユーザー
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

2020/08/18 15:14

投稿

退会済みユーザー
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クイーンの解を求めるプログラミングまでは出せましたがここからがわかりません

2020/08/18 14:42

投稿

退会済みユーザー
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([])