数独の3国同盟のアルゴリズム教えて下さい
はじめまして!
C言語を勉強して3ヶ月になります、現在、勉強のつもりで数独の解法プログラムを作っています
が、解法プログラムを基本から順に実装しようと基本から2国同盟まではわかったのですが3国
同盟以上(まずは自明のNaked Tripleからお願いします<(_ _)>)のアルゴリズムがどうしても
解らずプログラムが書けません。マスの絞り込み方です。例えば横ラインのマスで候補数が2、
3個のマスに絞って・・・次ですが3個のマスには3種類しか入らない。・が解りません!目
で見ればわかりますがそれをプログラムする方法)NAKED(見える)Tripleだけで良いので考え方
を教えて下さい。2日間詰まってます(>< )
どうぞ宜しくお願いします<(_ _)>
(例)
R3横一行だけを考えたときにR3C1(6,8)、R3C2(1,6)、R3C3(2,3,4)、R3
C4(1,8)、R3C5(1,2,4,5,6)・・・で()内は候補数です。これはC1、C2、C4で
(1,6,8)の3国同盟ができています。R3C5の(1,6)は削除され候補数(2,4,
5)となる。悩んでいるのはC1、C2、C4を同盟決定のアルゴリズムです。
「異なる3つのマスを選んだときに、それら3マスに入れられる候補の種類が3種類であること」を
プログラム上でどう表現したら良いかずっと詰まってます(>< )
どう考えたらこの3つのマスを決定(同盟関係)できるのでしょうか?宜しくお願い致します<(_
_)>