回答編集履歴
1
メソッド名の変更
answer
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
* @param 行列 (matrix)
|
12
12
|
* @param 候補行列 (candidate matrix)
|
13
13
|
*/
|
14
|
-
public void
|
14
|
+
public void 単一候補法(int[][] 行列, int[][] 候補行列) {
|
15
15
|
List<Integer> 候補リスト = new ArrayList<>();
|
16
16
|
|
17
17
|
for (int i = 0; i < Utility.行; i++)
|
@@ -102,20 +102,20 @@
|
|
102
102
|
for (int i = 0; i < 9; i++)
|
103
103
|
for (int j = 0; j < 9; j++)
|
104
104
|
if (行列[i][j] == 0)
|
105
|
-
候補行列[i][j] = 0x3fe;
|
105
|
+
候補行列[i][j] = 0x3fe; // 2進 0011 1111 1110
|
106
106
|
else
|
107
107
|
候補行列[i][j] = 1 << 行列[i][j];
|
108
108
|
Utility.候補行列表示(候補行列);
|
109
109
|
Cand c = new Cand();
|
110
|
-
c.
|
110
|
+
c.単一候補法(行列, 候補行列);
|
111
111
|
Utility.候補行列表示(候補行列);
|
112
112
|
|
113
|
-
c.
|
113
|
+
c.単一候補法(行列, 候補行列);
|
114
114
|
Utility.候補行列表示(候補行列);
|
115
115
|
}
|
116
116
|
}
|
117
117
|
```
|
118
|
-
実行してみると、`c.
|
118
|
+
実行してみると、`c.単一候補法(行列, 候補行列);` を繰り返すにしたがって
|
119
119
|
候補が減っていくのが分かるでしょう。
|
120
120
|
|
121
121
|
ただ、数独はこれだけでは解にたどり着けません。
|