トラック
/
F#
F#
/
演習
/
キラー数独ヘルパー
キラー数独ヘルパー

キラー数独ヘルパー

中級

説明

友人がキラー数独(ルールは下記)の解き方を学んでいますが、どの数字をケージに入れられるのかを見つけるのに苦労しています。そこで、あるケージに対して有効な組み合わせと、そのケージに影響する制約をすべて列挙する小さなプログラムを書いて、手伝ってほしいと頼まれました。

プログラムの出力を読みやすくするために、返す組み合わせはソートされている必要があります。

キラー数独のルール

  • 通常の数独のルールが適用されます。
  • ケージの中の数字は、ふつう点線で示され、合計するとケージの角に書かれた小さな数字になります。
  • 同じ数字は、1つのケージの中に1回しか入りません。

より詳しく知りたい場合は、こちらのガイドを参照してください。

例1:組み合わせが1つしかないケージ

合計が7になる3マスのケージでは、有効な組み合わせは124だけです。

  • 1 + 2 + 4 = 7
  • 合計が7になるほかの組み合わせ、たとえば232は、ケージの中で数字を繰り返さないというルールに反します。

数独のグリッドで、3つのキラーケージがまとまりとして示されています。1つ目のキラーケージは、グリッドの左上隅にある3×3のブロックの中にあります。そのブロックの中央の列がケージを形成していて、上から順に次のマスが含まれます。1つ目のマスには1と、ケージの合計7を示す7の鉛筆マークがあります。2つ目のマスには2、3つ目のマスには5が入っています。数字は間違いを示すために赤で強調されています。2つ目のキラーケージは、グリッド中央の3×3のブロックの中にあります。そのブロックの中央の列がケージを形成していて、上から順に次のマスが含まれます。1つ目のマスには1と、ケージの合計7を示す7の鉛筆マークがあります。2つ目のマスには2、3つ目のマスには4が入っています。このケージの数字はどれも強調されておらず、間違いはありません。3つ目のキラーケージは、グリッド中央の3×3のブロックの外側の角に沿っています。次の3つのマスでできています。ケージの左上のマスには2が入り、赤で強調されていて、ケージの合計は7です。ケージの右上のマスには3が入っています。ケージの右下のマスには2が入り、赤で強調されています。ほかのマスはすべて空です。

例2:組み合わせが複数あるケージ

合計が10になる2マスのケージでは、4つの組み合わせが考えられます。

  • 19
  • 28
  • 37
  • 46

数独のグリッドで、中央の列である5列目に8行分が埋まっているほかは、どのマスも空です。隣り合う2行ずつがそれぞれキラーケージを形成し、まとまりとして示されています。上から順に、1つ目のグループは値1のマスと、ケージの合計10を示す鉛筆マークがあるマス、値9のマスです。2つ目のグループは値2のマスと、10の鉛筆マークがあるマス、値8のマスです。3つ目のグループは値3のマスと、10の鉛筆マークがあるマス、値7のマスです。4つ目のグループは値4のマスと、10の鉛筆マークがあるマス、値6のマスです。列の最後のマスは空です。

例3:条件によって絞られる、組み合わせが複数あるケージ

合計が10になる2マスのケージで、その列にすでに1と4が入っている場合、考えられる組み合わせは2つです。

  • 28
  • 37

通常の数独のルールでは、列に1と4があるため、19と46は使えません。

数独のグリッドで、中央の列である5列目に8行分が埋まっているほかは、どのマスも空です。1行目には4が入り、2行目は空で、3行目には1が入っています。1は間違いを示すために赤で強調されています。列の最後の6行は、それぞれ2マスのキラーケージを形成しています。上から順に、1つ目のグループは値2のマスと、ケージの合計10を示す鉛筆マークがあるマス、値8のマスです。2つ目のグループは値3のマスと、10の鉛筆マークがあるマス、値7のマスです。3つ目のグループは値1のマス(赤で強調)と、10の鉛筆マークがあるマス、値9のマスです。

自分で解いてみましょう

取り組みやすいキラー数独を解いてみたい場合は、Clover作のこちらのパズルを試してみてください。このパズルは、2021年6月21日にCracking The CrypticのMark Goodliffeが紹介したものです。

キラー数独は、さまざまな難易度のものが多くの新聞や、数独のアプリ、書籍、ウェブサイトでも見つかります。

クレジット

上記のスクリーンショットは、Eric Foxによるパズル作成ツールF-Puzzles.comを使って作成したものです。

GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
F# Exercism

キラー数独ヘルパーを始める準備はできましたか?

Exercismに登録すれば、18個のコンセプト148個の演習、そして本物の人間によるメンタリングとともに、F#を学んでマスターできます。すべて無料です。