私はここで少し立ち往生していて、それ以上考えることができません。
public struct CandidateDetail
{
public int CellX { get; set; }
public int CellY { get; set; }
public int CellId { get; set; }
}
var dic = new Dictionary<int, List<CandidateDetail>>();
各 CandidateDetail アイテムを同じ辞書内の他の CandidateDetail アイテムと最も効率的な方法で比較するにはどうすればよいですか?
例: 辞書には 5、6、1 の 3 つのキーがあります。したがって、3 つのエントリがあります。これらのキー エントリのそれぞれに、関連付けられたリストがあります。この場合、これら 3 つの数値のそれぞれが、各キーに関連付けられたリスト内に正確に 2 つの CandidateDetails アイテムを持っているとします。これはつまり、異なるセルまたは同じセルに 2 つの 5、2 つの 6、および 2 つの 1 があることを意味します。私が知りたいのですが:
if[5].1stItem.CellId == [6].1stItem.CellId => ヒットしました。つまり、同じセル内に 5 と 6 があることを意味します。if[5].2ndItem.CellId == [6].2ndItem.CellId => 完全です。残りの 5 と 6 は、別のセル内に一緒にあることがわかりました。if[1].1stItem.CellId == ...
ここで、1 を他の 5 および 6 と照合して、前の同じ 2 つのセル内に存在するかどうかを確認する必要があります。
おそらくLinq式が役立つでしょうか?私はここでかなり立ち往生しています...わかりません...多分私は間違ったアプローチを取っています。ゲーム数独の「隠しペア」を解こうとしています。:)
http://www.sudokusolver.eu/ExplainSolveMethodD.aspx
どうもありがとう、ケーブ