第144問の解答


1.問題 [規則性]

〜Eの5つのに、碁石がそれぞれ1〜5個のせてあります。
2人でこのからかわりばんこに碁石を取っていって、最後碁石を全部取り尽くした方勝ち、というゲームをします。

問題図

ただし取り方には、
 ・一度に同じ箱から複数碁石をとっても良いが、別の箱から取ることはできない
というルールがあります。
さて、先手側の立場にたっと時、最初にどのように取れば勝ちにつながるでしょうか?
次の中から正しい方法を3つ選んでください。
ただし、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)
(注)(C−2)とは、から碁石2個取ることを表すことにします。

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)のとき、
 ・後手(、2、3)→先手(0、2、
 ・後手(1、、3)→先手(1、1、
 ・後手(1、)→先手(1、0、
 ・後手(1、2、)→先手(、2、2)
 ・後手(1、2、)→先手(1、、1)
 ・後手(1、2、)→先手(1、、0)

と、後手がどのような手をとっても、先手(N、N)型にできるので、先手必勝。
(1、4、5)のとき、
 ・後手(、4、5)→先手(0、4、
 ・後手(1、、5)→先手(1、3、
 ・後手(1、、5)→先手(1、2、
 ・後手(1、、5)→先手(1、1、
 ・後手(1、4、)→先手(、4、4)
 ・後手(1、4、)→先手(1、、3)
 ・後手(1、4、)→先手(1、、2)
 ・後手(1、4、)→先手(1、、1)
 ・後手(1、4、)→先手(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)の場合は、
 ・後手(、3、4、5)→先手(1、、4、5)
 ・後手(、3、4、5)→先手(0、、4、5)
 ・後手(2、、4、5)→先手(2、2、4、
 ・後手(2、、4、5)→先手(、1、4、5)
 ・後手(2、、4、5)→先手(、0、4、5)
 ・後手(2、3、3、5)→先手(2、3、3、
 ・後手(2、3、、5)→先手(2、3、2、
 ・後手(2、3、、5)→先手(2、3、1、
 ・後手(2、3、、5)→先手(2、3、0、
 ・後手(2、3、4、)→先手(2、、4、4)
 ・後手(2、3、4、)→先手(2、3、、3)
 ・後手(2、3、4、)→先手(2、3、、2)
 ・後手(2、3、4、)→先手(2、3、、1)
 ・後手(2、3、4、)→先手(2、3、、0)

となり、後手がどのような手を取っても、先手必勝型に持ち込める。

これ以外の手を先手が取った場合、
 ・先手(B−1)→(1、、3、4、5)の場合は、後手(1、1、、4、5)
 ・先手(B−2)→(1、、3、4、5)の場合は、後手(1、0、、4、5)
 ・先手(C−2)→(1、2、、4、5)の場合は、後手(1、、1、4、5)
 ・先手(C−3)→(1、2、、4、5)の場合は、後手(1、、0、4、5)
 ・先手(D−1)→(1、2、3、、5)の場合は、後手(1、2、3、3、
 ・先手(D−2)→(1、2、3、、5)の場合は、後手(1、2、3、2、
 ・先手(D−3)→(1、2、3、、5)の場合は、後手(1、2、3、1、
 ・先手(D−4)→(1、2、3、、5)の場合は、後手(1、2、3、0、
 ・先手(E−2)→(1、2、3、4、)の場合は、後手(1、2、3、、3)
 ・先手(E−3)→(1、2、3、4、)の場合は、後手(1、2、3、、2)
 ・先手(E−4)→(1、2、3、4、)の場合は、後手(1、2、3、、1)
 ・先手(E−5)→(1、2、3、4、)の場合は、後手(1、2、3、、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で出てきた必勝型(N、N)、(1、2、3)、(1、4、5)は、いずれもニム和です。

(1)の計算でニム和になるようにするには、1の位のものをにすればいいので、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(ニム和:以下同様)でないとします。
例えば本問では、s=1です。
ニム和は、2進数表示各桁1の個数奇数のとき偶数の時0でもあるので、ニム和でないということは、各桁のうちのものが必ずあります。(本文では最下位)
このうち、一番位が高い桁(下から数えて第n位とします)について考えると、ニム和なので、同じ桁にとなるものが、a、b、c、d、eの中に少なくとも1つはあります。(全てならニム和

例えば、がそうだとします。(本文では、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

になります。
ここで、
 ・第m位の桁(m>n)だから、a’=a+sではと同じ、
 ・第n位は、なので、a’=a+sでは
従って、a’=a+s<aとなります。(本問では、1+s=0、3+s=2、5+s=4
すなわち、a→a’個に減らせば、s’=0となり、ニム和にすることができます。

今度は、後手番ニム和とします。
後手が、a、b、c、d、eのいずれかの碁石を減らしたとき(例えばb→b’個)、
b’各桁のうち、1個と値が異なるものがあります。
すると、その桁ではb→b’に伴って0→11→0になっています。
a、b’、c、d、eについていえば、前者では1の個数+1、後者では−1になるのでいずれのときも、偶数→奇数に変わります。
従って、s’=a+b’+c+d+eではありません。
よって、その次の先手番では再びニム和になるよう碁石を減らすことができます。

以上を繰り返していけば、碁石の数は次第に減っていき、後手番で全ての場合に必ずなってしまうので、必ず先手勝ちとすることができます。