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