必ず最初はスキップは0にしてください ~~~問題~~~ チェス盤が置いてある部屋があります。 悪魔はこのチェス盤の8×8のマスに白か黒の石をランダムに置いていきます。 悪魔は完全に気まぐれに石を置くため、64マス全てに白色の石を置いたり、逆に1つも白色の石を置かなかったりするかもしれません。 なお、石の数が減ることはありません。 この部屋の外に幼女Aと幼女Bを待機させています。 悪魔は幼女Aだけをチェス盤の部屋に入れて、1以上64以下の整数のどれかひとつを告げます。 幼女Aはチェス盤の上の 石の色を反転させる、 という操作を1回だけ行います。 何もしないということは許されません。 その後、悪魔は幼女Bをチェス盤の部屋に入れます。 幼女Bはチェス盤の様子を見て幼女Aに告げられた整数を当てなければなりません。 回答のチャンスは1回のみ。 幼女たちはどのような戦略を取ればよいでしょう。 なお、幼女たちは初めのチェス盤の様子を知りません。 ただし、幼女たちはルールを知った上で開始前に戦略を打ち合わせることができます。 ~~ヒント~~ ⇩⇩⇩⇩⇩⇩⇩ ⇩⇩⇩⇩⇩⇩⇩ ⇩⇩⇩⇩⇩⇩⇩ ヒント1、この問題は答えがあります、諦めないでね ヒント2、チェス盤である必要はない。 ヒント3、チェス盤においてある碁石は必ず動かす ヒント4、数学的な問題です、解答はちゃんとあるよ ヒント5、チェス盤に0~63の数字を割り振る ヒント6、チェス盤の状況を数字化してみよう
この問題にはちゃんと正解があります。 作者自身でもよくわかっていませんが、ちゃんと解けます。簡単に言うと、盤面を数値化し、伝えられた数字も数値化し、そしてその数値を同じにするだけです。 数値化にする方法は模範解答としては、十進数を二進数に変えるという手法です。チェス盤の盤面は必ず二進数で表せます。例えば七なら000111となります。 盤面を数値化する方法はある範囲の白石の数が偶数なら0、奇数なら1、というものを六種類に分けて六桁の二進数の列を作ります。分け方としては、上からの5~8段目、上からの3,4,7,8段目、上から2,4,6,8段目、 左からの5~8段目、左から3,4,7,8段目、左から2,4,6,8段目という感じに六種類に分けれますね。この範囲にある白石の個数が偶数なら0,奇数なら1、というという感じに分けることでどんな盤面でも一つを変えるだけで表すことができます。けどもしも初期の盤面と伝えられた数字が同じなら変えてしまうと数字が変わってしまいます。ですが上で私が言った分け方で唯一触れていない場所があったのがわかりましたか?そう、左上です。ここの色は一切関係ありません。なので左上を変えても数字は変わらないのです。という感じに表すことができます。解答を見てもよくわからないよ~って方はなんとか自分で調べてください。それじゃ、また!!(どっかのやぁみんなおれだ)