- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2021-10-23T12:10:57+00:00","","")
*[[Problem 96:https://projecteuler.net/problem=96]] 「数独」 [#oa2b2645]
"数独"(日本語で数字を配置するという意味)とは人気があるパズルの名前である.
//「数字は独身に限る」の略なんだがな…
起源は不明だが, その評判はラテン語で"Squares"と呼ばれる同様な, そしてはるかに難しいパズルを考案した
レオンハルト・オイラーの貢献によるものに違いない.
しかしながら, "数独"パズルの目的は
それぞれの行, 列が3×3の枠を含む9×9の格子の空白(もしくは0)をそれぞれ1から9の数字で置き換えることである.
下に, 一般的なパズルの開始状態とその解答の例がある.
#ref(q_096.gif,center,nolink)
#ref(https://projecteuler.net/project/images/p096_1.png,center,nolink)
うまく作られている"数独"パズルは,
選択肢を消去するために"仮定とテスト"方式を用いる必要があるかもしれないが,
ただ一つの解を持ち, 論理によって解くことができる(これについては様々な意見がある).
探索の複雑さがパズルの難易度を決定する;
上に挙げた例は, 単純で直接的な推論によって解く事ができるため, 簡単であると考えられる.
6kバイトのテキストファイル&ref(sudoku.txt);(右クリックで,"名前をつけてリンク先を保存")
6kバイトのテキストファイル&ref(project/resources/p096_sudoku.txt);(右クリックで,"名前をつけてリンク先を保存")
にはただ一つの解を持つ, 様々な難易度の50の"数独"パズルが含まれている(上の例題はこのファイルにおける最初のパズルである).
50すべてのパズルを解き, それぞれの解答の左上隅にある3桁の数の合計を求めよ;
例えば483は上の解答例の左上隅の3桁の数である.