ですから、私の目標は数独パズルを解くメソッドを書くことです。メソッドスタブ「publicint [] []solve(int [] []board)」が与えられました。解決策を見つけるために、アークの一貫性とドメイン分割を使用することになっています。
-私が始めた方法は、ボード上のポイント(キー)とその現在のドメイン(指定されていない限り1..9に初期化)のハッシュマップを作成することでした->HashMap<Point, ArrayList<Integer>> curDomains = new HashMap<Point, ArrayList<Integer>>();
これが最適なデータ構造であるかどうかはわかりませんが使用する。
-私の質問は、円弧と拘束をどのように表現するかです。アルゴリズムの擬似コードがありますが、Javaで制約/アークを表現する方法がわかりません。C:満たすべき制約のセット(数独ボード上の有効な配置)と、アークA <X、c>(Xはポイント、cは制約)を表すための最良の方法は何ですか。
有益なコメントをよろしくお願いします。