1

ですから、私の目標は数独パズルを解くメソッドを書くことです。メソッドスタブ「publicint [] []solve(int [] []board)」が与えられました。解決策を見つけるために、アークの一貫性ドメイン分割を使用することになっています。

-私が始めた方法は、ボード上のポイント(キー)とその現在のドメイン(指定されていない限り1..9に初期化)のハッシュマップを作成することでした->HashMap<Point, ArrayList<Integer>> curDomains = new HashMap<Point, ArrayList<Integer>>();これが最適なデータ構造であるかどうかはわかりませんが使用する。

-私の質問は、円弧と拘束をどのように表現するかです。アルゴリズムの擬似コードがありますが、Javaで制約/アークを表現する方法がわかりません。C:満たすべき制約のセット(数独ボード上の有効な配置)と、アークA <X、c>(Xはポイント、cは制約)を表すための最良の方法は何ですか。

有益なコメントをよろしくお願いします。

4

1 に答える 1

0

これは、Arcの整合性を操作しながら、データ構造に関連する理解のために読むのに最適です。これがお役に立てば幸いです。

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.99.8824&rep=rep1&type=pdf&ei=XdqgTqmgDIblrAex-Z3fAg&usg=AFQjCNEKp1FtiYbaea6dvF6u7ppVOk-fFg&sig2=duzyH

上記のリンクから、その大学のWebサイトにアクセスしてPDFをダウンロードするだけでリダイレクト通知が表示されます。

幸運を!

于 2011-10-21T02:40:13.793 に答える