回答編集履歴
2
追記
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
修正
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`も同様です。
|