第144問の解答
1.問題 [規則性]
A〜Eの5つの箱に、碁石がそれぞれ1〜5個のせてあります。
2人でこの箱からかわりばんこに碁石を取っていって、最後に碁石を全部取り尽くした方が勝ち、というゲームをします。ただし取り方には、
・一度に同じ箱から複数の碁石をとっても良いが、別の箱から取ることはできない
というルールがあります。
さて、先手側の立場にたっと時、最初にどのように取れば勝ちにつながるでしょうか?
次の中から正しい方法を3つ選んでください。
ただし、2手目以降もお互いが最善の手をつくすものとします。
(注)(C−2)とは、Cの箱から碁石を2個取ることを表すことにします。
(A−1) (B−1) (B−2) (C−1) (C−2) (C−3) (D−1) (D−2) (D−3) (D−4) (E−1) (E−2) (E−3) (E−4) (E−5)
2.解答例1(清川育男さん、LIONさん、C-Dさん、okaokaさん、有無相生さん、他多数)
まず、箱が2つの場合を考えてみましょう。
先手番のとき、箱の中の碁石が(N、M)(ただし、N<M)であれば、M個の碁石をN個に減らし、(N、N)型にするようにすれば、
・先手番では、必ず(N、M)型
・後手番では、必ず(N、N)型
になる。
碁石の数は次第に減っていくので、最後は後手番で(0、0)となり、先手勝ちとなる。すなわち、先手は、(N、N)となるようにできれば、先手必勝型である。
箱が3個の時、先手は(1、2、3)または(1、4、5)にできれば必勝型である。
(1、2、3)のとき、
・後手(0、2、3)→先手(0、2、2)
・後手(1、1、3)→先手(1、1、0)
・後手(1、0、3)→先手(1、0、1)
・後手(1、2、2)→先手(0、2、2)
・後手(1、2、1)→先手(1、0、1)
・後手(1、2、0)→先手(1、1、0)
と、後手がどのような手をとっても、先手は(N、N)型にできるので、先手必勝。
(1、4、5)のとき、
・後手(0、4、5)→先手(0、4、4)
・後手(1、3、5)→先手(1、3、2)
・後手(1、2、5)→先手(1、2、3)
・後手(1、1、5)→先手(1、1、0)
・後手(1、4、4)→先手(0、4、4)
・後手(1、4、3)→先手(1、2、3)
・後手(1、4、2)→先手(1、3、2)
・後手(1、4、1)→先手(1、0、1)
・後手(1、4、0)→先手(1、1、0)
と、後手がどのような手をとっても、先手は(N、N)型または(1、2、3)の必勝型にできるので、先手必勝。さらに、
・箱が4個のときに(N、N、M、M)、
・箱が5個のときに(N、N、1、2、3)または、(N、N、1、4、5)
にできれば、先手必勝型の組み合わせなので、やはり先手必勝型。
さて、本問の場合、
(A−1)→(2、3、4、5)
(C−1)→(1、2、2、4、5)
(E−1)→(1、2、3、4、4)
の3つのケースが先手必勝になります。このうち、
(C−1)→(1、2、2、4、5)は、(2、2)と(1、4、5)の組み合わせ、
(E−1)→(1、2、3、4、4)は、(4、4)と(1、2、3)の組み合わせ、
になるので、先手必勝。(A−1)→(2、3、4、5)の場合は、
・後手(1、3、4、5)→先手(1、0、4、5)
・後手(0、3、4、5)→先手(0、1、4、5)
・後手(2、2、4、5)→先手(2、2、4、4)
・後手(2、1、4、5)→先手(0、1、4、5)
・後手(2、0、4、5)→先手(1、0、4、5)
・後手(2、3、3、5)→先手(2、3、3、2)
・後手(2、3、2、5)→先手(2、3、2、3)
・後手(2、3、1、5)→先手(2、3、1、0)
・後手(2、3、0、5)→先手(2、3、0、1)
・後手(2、3、4、4)→先手(2、2、4、4)
・後手(2、3、4、3)→先手(2、3、2、3)
・後手(2、3、4、2)→先手(2、3、3、2)
・後手(2、3、4、1)→先手(2、3、0、1)
・後手(2、3、4、0)→先手(2、3、1、0)
となり、後手がどのような手を取っても、先手は必勝型に持ち込める。これ以外の手を先手が取った場合、
・先手(B−1)→(1、1、3、4、5)の場合は、後手(1、1、1、4、5)
・先手(B−2)→(1、0、3、4、5)の場合は、後手(1、0、0、4、5)
・先手(C−2)→(1、2、1、4、5)の場合は、後手(1、1、1、4、5)
・先手(C−3)→(1、2、0、4、5)の場合は、後手(1、0、0、4、5)
・先手(D−1)→(1、2、3、3、5)の場合は、後手(1、2、3、3、3)
・先手(D−2)→(1、2、3、2、5)の場合は、後手(1、2、3、2、2)
・先手(D−3)→(1、2、3、1、5)の場合は、後手(1、2、3、1、1)
・先手(D−4)→(1、2、3、0、5)の場合は、後手(1、2、3、0、0)
・先手(E−2)→(1、2、3、4、3)の場合は、後手(1、2、3、3、3)
・先手(E−3)→(1、2、3、4、2)の場合は、後手(1、2、3、2、2)
・先手(E−4)→(1、2、3、4、1)の場合は、後手(1、2、3、1、1)
・先手(E−5)→(1、2、3、4、0)の場合は、後手(1、2、3、0、0)
とすれば、後手が必勝型に持ち込むことができますので、解は上記3ケースしかありません。答:(A−1)、(C−1)、(E−1)
以上
3.解答例2(中村明海さん、高橋道広さん、他)
この問題は、有名な3山くずしと呼ばれるゲームで、2進数表示で考えると簡単に先手必勝型が分かります。
初期状態(1、2、3、4、5)は、それぞれの個数を2進数表示し、排他論理和(繰上りのない2進数の足し算、ニム和ともいいます)を計算すると
1=001
2=010
3=011 ・・・・ (1)
4=100
+)5=101
1=001
1になります。
先手は、ここから、ニム和が0になるような手を作ることが出来れば、必勝型になります。ちなみに、解答例1で出てきた必勝型(N、N)、(1、2、3)、(1、4、5)は、いずれもニム和は0です。
(1)の計算でニム和が0になるようにするには、1の位が1のものを0にすればいいので、1から5では奇数の1、3、5のいずれかになります。
すなわち、(A−1)、(C−1)、(E−1)の3ケースが先手必勝型です。
(A−1)
0=000
2=010
3=011
4=100
+) 5=101
0=000(C−1)
1=001
2=010
2=010
4=100
+) 5=101
0=000(E−1)
1=001
2=010
3=011
4=100
+)4=100
0=000
なお、(A−1)〜(E−5)についてニム和を計算すると下記のようになります。
(A−1)
0=000
2=010
3=011
4=100
+) 5=101
0=000(B−1)
1=001
1=001
3=011
4=100
+) 5=101
2=010(B−2)
1=001
0=000
3=011
4=100
+) 5=101
3=011(C−1)
1=001
2=010
2=010
4=100
+) 5=101
0=000(C−2)
1=001
2=010
1=001
4=100
+) 5=101
3=011(C−3)
1=001
2=010
0=000
4=100
+) 5=101
2=010(D−1)
1=001
2=010
3=011
3=011
+)5=101
6=110(D−2)
1=001
2=010
3=011
2=010
+) 5=101
7=111(D−3)
1=001
2=010
3=011
1=001
+) 5=101
4=100(D−4)
1=001
2=010
3=011
0=000
+) 5=101
5=101(E−1)
1=001
2=010
3=011
4=100
+)4=100
0=000(E−2)
1=001
2=010
3=011
4=100
+)3=011
7=111(E−3)
1=001
2=010
3=011
4=100
+)2=010
6=110(E−4)
1=001
2=010
3=011
4=100
+)1=001
5=101(E−5)
1=001
2=010
3=011
4=100
+)0=000
4=100従って、(A−1)、(C−1)、(E−1)以外ではニム和が0にならないことがわかります。
(参考)ニム和0が先手必勝型の証明
箱A、B、C、D、Eにある碁石の個数をa、b、c、d、eとします。先手番で、s=a+b+c+d+e(ニム和:以下同様)が0でないとします。
例えば本問では、s=1です。
ニム和は、2進数表示で各桁の1の個数が奇数のとき1、偶数の時0でもあるので、ニム和が0でないということは、sの各桁のうち1のものが必ずあります。(本文では最下位)
このうち、一番位が高い桁(下から数えて第n位とします)について考えると、ニム和が1なので、同じ桁に1となるものが、a、b、c、d、eの中に少なくとも1つはあります。(全て0ならニム和も0)例えば、aがそうだとします。(本文では、a=1、c=3、e=5)
a’=a+sとすると、
s’=a’+b+c+d+e
=(a+s)+b+c+d+e
=(a+b+c+d+e)+s
=s+s
=0
になります。
ここで、
・sの第m位の桁(m>n)は0だから、a’=a+sではaと同じ、
・第n位は、aもsも1なので、a’=a+sでは0
従って、a’=a+s<aとなります。(本問では、1+s=0、3+s=2、5+s=4)
すなわち、a→a’個に減らせば、s’=0となり、ニム和を0にすることができます。今度は、後手番でニム和が0とします。
後手が、a、b、c、d、eのいずれかの碁石を減らしたとき(例えばb→b’個)、
b’の各桁のうち、1個はbと値が異なるものがあります。
すると、その桁ではb→b’に伴って0→1か1→0になっています。
a、b’、c、d、eについていえば、前者では1の個数は+1、後者では−1になるのでいずれのときも、偶数→奇数に変わります。
従って、s’=a+b’+c+d+eは0ではありません。
よって、その次の先手番では再びニム和を0になるよう碁石を減らすことができます。以上を繰り返していけば、碁石の数は次第に減っていき、後手番で全て0の場合に必ずなってしまうので、必ず先手勝ちとすることができます。