第7講 数独作成アプリVer.2に1:1対応確定と排除を組み込む
第4話 1:1対応確定解析はいかにしたら可能か?
や
などにおいて、
いかにしたら1:1対応確定セル群があることが確定することが出来るでしょうか。
そして、そのセル群はどのセルから構成され、
そのセル群にリストされる内容は何なのかをいかにしたら明らかに出来るのでしょうか。
上の事例は、リスト構造解析によって決定できます。
オレンジのセルは2と7しかリストされないのですから、
2つのセルに2つの候補数字で1:1対応が成り立ちます。
ところが下の事例では、
オレンジのセルにリスト構造解析を行っても、
そのリスト構造はいずれも、
{1,2,3,9,5,6,7,8,4},mx(2, 2) = 6
{1,2,3,9,5,6,7,8,4},mx(2, 6) = 6
ですから、相補確定からほど遠いわけです。
リスト構造解析以外の解析方法を考案しなければなりません。
いかにしたら、
{2,7,3,9,5,6,1,8,4},mx(2, 2) = 1
{2,7,3,9,5,6,1,8,4},mx(2, 6) = 1
にもっていけるでしょうか。
実は、ライン排除確定解析で使った方法が参考になります。
それは、色塗り法です。
2の色と7の色をもっていないセルは、
対象とする行または列またはブロックの中に、
2つのセルのみしかないことを調べれば良いのです。
つまり、1:1対応解析のやり方は、ライン反照排除解析と似ています。
違う点は、ライン排除確定では行などで色のない(白色)のセル個数が1個であるもの(mx = 0)を
を探しましたが、
相補確定解析では、セル個数が2個であり、
しかもメンバーが同じ2つであることを示さなければなりません。
相補確定解析は、独立プロシージャにしないで、
ライン排除確定プロシージャの中に、
相補確定解析の機能を付け加えることにしましょう。
独立プロシージャにしてしまうと、
行・列・ブロックのカウントを重複して行うことになってしまうからです。
eclipse c++ 入門
魔方陣 数独(ナンプレ)で学ぶ VBA 入門
数独(ナンプレ)のシンプルな解き方・簡単な解法の研究
vc++講義へ
excel 2013 2010 2007 vba入門へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
専門用語なしの C言語 C++ 入門(Visual C++ 2010で学ぶ C言語 C++ 入門)
専門用語なしの excel vba マクロ 入門 2013 2010 2007 対応講義 第1部
eclipse java 入門へ
excel 2016 vba 入門へ
小学生からエンジニアまでのRuby入門へ
本サイトトップへ