-2

数独ex1

数独を解きながら、セルD[1,2]とD[2,2]から可能性のある数字(1)と(2)を削除できます。(8)と(9)はこれらのセルでのみ可能であるため、これらのセルは(8と9)または(9と8)のいずれかになります。これは、数字(1)と(2)がDブロックの3行目にあることを意味します。そのため、セルA [3,3]から数字(1)の可能性を排除できます。

過去40時間にこれを行う関数を構成しましたが、管理できませんでした。このタイプの知的問題を検出する機能を作成できる人はいますか(他のn個の可能性はn個のセルにのみ存在できるため、いくつかの可能性を排除します。この場合、2桁の8と9は2つのセルに存在できますD [ 1,2]およびD[2,2])。

数独の他の機能について私にアドバイスしないでください。私はすでにそれらを実行しました、私がプログラムできなかった唯一のアルゴリズムはこれです。ところで、r [i](行番号iの可能性を構成する文字列)、列にc [i]、ブロックにb [i]を使用できます(例:b [4](この画像ブロックA) )= 1,2,3,4,5,6,7(8と9はすでに定義されているため)。ありがとう

4

1 に答える 1

1

私は本当に問題を見ていません。あなたは基本的にすでにあなたの問題に答えています。一般に、次のことを行う必要があります。

手順 1: 1 つのブロックの 9 つのセルすべてをループし、(1) が 2 つのセルにのみ含まれているかどうかを確認します。

ステップ 2: そうでない場合は、次の番号を試してください。はいの場合、9 つのセルすべてをループし、(2) がこれら 2 つのセルにも含まれているが、残りの 7 つのセルには含まれていないかどうかを確認します。

ステップ 3: そうでない場合は、次の番号を確認します。はいの場合、見つかった 2 つの数字を除いて、2 つのセルの他の可能性を削除します。基本的には完了です。

ステップ 4: (1) (またはステップ 2 の「ない」部分で選択したそれより大きい数字) に一致する数字が見つからない場合は、ステップ 1 からやり直しますが、既に 8 に達していない限り、次の数字を試します。 、その後停止できます。

最終的に、3 つのセル内の 3 つの数字、4 つの数字の同じパターンを動的に拡張できます...

于 2012-10-20T21:25:10.347 に答える