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

回答編集履歴

2

追記

2020/07/25 17:05

投稿

8524ba23
8524ba23

スコア38352

answer CHANGED
@@ -21,4 +21,33 @@
21
21
  繰り返しになりますが、内容理解していないので正しいかはわかりません。
22
22
  ```
23
23
  14691314101121615812573835162129151371411164101121312783641095151611414101571516411312613298281141036139154117121651679101511181252144313661541112257311316148109313125164149108671112154141025168121511139761356815413711421693101211121671314911364810215519111361015271351216148471138912516141046131512101214111613168971554321351663154101121128914715924871214563131011116
24
+ ```
25
+
26
+ 追記
27
+ -----
28
+ 結果が見づらかったので、そのまま`numpy`配列で保持し`print`するように修正しました。
29
+ ```Python
30
+ #answers.append(','.join([v for r in rows for c in columns for v in values if value(choices[v][r][c]) == 1]))
31
+ import numpy as np
32
+ ans = np.array([int(v) for r in rows for c in columns for v in values if value(choices[v][r][c]) == 1]).reshape(16,-1)
33
+ answers.append(ans)
34
+ ```
35
+
36
+ ```Python
37
+ [[ 1 4 6 9 13 14 10 11 2 16 15 8 12 5 7 3]
38
+ [ 8 3 5 16 2 12 9 15 13 7 14 1 11 6 4 10]
39
+ [11 2 13 12 7 8 3 6 4 10 9 5 15 16 1 14]
40
+ [14 10 15 7 1 5 16 4 11 3 12 6 13 2 9 8]
41
+ [ 2 8 1 14 10 3 6 13 9 15 4 11 7 12 16 5]
42
+ [16 7 9 10 15 11 1 8 12 5 2 14 4 3 13 6]
43
+ [ 6 15 4 11 12 2 5 7 3 1 13 16 14 8 10 9]
44
+ [ 3 13 12 5 16 4 14 9 10 8 6 7 1 11 2 15]
45
+ [ 4 14 10 2 5 16 8 12 15 11 1 3 9 7 6 13]
46
+ [ 5 6 8 15 4 13 7 1 14 2 16 9 3 10 12 11]
47
+ [12 16 7 13 14 9 11 3 6 4 8 10 2 15 5 1]
48
+ [ 9 1 11 3 6 10 15 2 7 13 5 12 16 14 8 4]
49
+ [ 7 11 3 8 9 1 2 5 16 14 10 4 6 13 15 12]
50
+ [10 12 14 1 11 6 13 16 8 9 7 15 5 4 3 2]
51
+ [13 5 16 6 3 15 4 10 1 12 11 2 8 9 14 7]
52
+ [15 9 2 4 8 7 12 14 5 6 3 13 10 1 11 16]]
24
53
  ```

1

修正

2020/07/25 17:05

投稿

8524ba23
8524ba23

スコア38352

answer CHANGED
@@ -1,5 +1,5 @@
1
1
  コード内容は全く理解できていませんが、わかる範囲で回答します。
2
- まず`chices`のキーは`'1'`~`'16'`の文字列ので
2
+ まず`chices`の中身を覗いたところ、キーは`'1'`~`'16'`の文字列だったので
3
3
  `problem += lpSum([choices[v][i][i] for i in range(n)]) == 1, ""`は
4
4
  `problem += lpSum([choices[v][str(i+1)][str(i+1)] for i in range(n)]) == 1, ""`であるべきかと思います。
5
5
  次の行の`r`、`c`も同様です。