『高校生からの挑戦状Part29』解答


◆愛知県 Y.M.Ojisan さんからの解答。

【解答】

Nが 3の倍数か3の倍数+1であること。

【証明】

1。と2。の手順があるのは面倒なので、最初に1個ダミーの白点を加え、リングにします。
すると、1。の手順は2。の手順に含まれます。
また、このとき、両側の点の色をつねに反転させるので、リング全体の黒点の数はつねに偶数です。
従って、ダミー点以外が全部白になったとき、ダミー点も白です。

 なお1。の手順により枝を出すことも可能ですが、2度と一直線にはできないので枝分かれを考える必要はありません。

 つまり、最初2個の白点が輪に繋がっている状態から 2。のみのルールで全部白にできるリングの点の総数 m=N+1 の条件を求めればよいです。

 下図に示すように、mが2、4、5の時は可能で、3、6の時は不可能です。
また、m=Kが可能であればm=K+3も可能です。
従って、少なくともmが3の倍数でないとき可能です。

以下、mが3の倍数のとき不可能であることを示します。
先に示したように黒点の数は偶数です。
従って、黒点間の区間の数も偶数です。

そこで 偶数番目区間の総長さAと、奇数番目区間の総長さBの差を考えます。
すると、下図に示されているように2。の操作を黒点間に加えようと、白点間に加えようと、白黒間に加えようと3を法とするA−Bの剰余値は常に2です。

一方、mが3の倍数のとき全部白になれば
|A−B|=m≡0 mod 3 ですから2ではありません。

よって、mが3の倍数のときは全部白にすることは不可能です。

 

【感想】

 たしかに、試験に出たら無理でしたね。
アイデア一発ですが、1時間ではアイデアは出なかった。
気分転換というか切羽詰ってトイレに行ったら出ました。^^


◆山梨県 Footmark さんからの解答。

1直線上の黒点は、1直線上にない新たな点と1の操作をすれば白点にできるので、「1点もしくは枝別れのない棒状グラフ」でないと、1直線上に並ぶ白点は何個でも可能です。
よって、「1点もしくは棒状グラフ」という条件があるものとします。

【答え】

Nは、3の倍数か3で割ると1余る。

【証明】

便宜的に、白点を○で黒点を●で表し、両端だけに点を持つ線分を「辺」と呼ぶものとする。
また、1の操作は点を選ぶので「点操作」、2の操作は辺を選ぶので「辺操作」と呼ぶものとする。

【操作をしないとき】

白点の個数Nは1だが、1は明らかに3で割ると1余る。

【操作をするとき】

下は、右端の点に点操作をしてから、ある特定の辺(=)に辺操作をしたときと、ある特定な辺(=)に辺操作をしてから、右端の点に点操作をしたときの、比較である。

元のグラフ      点操作後のグラフ     辺操作後のグラフ
……元=元……元   ……元=元……逆ー○   ……逆ー○ー逆……逆ー○
……元=元      ……元=逆ー○      ……逆ー○ー元ー○
 
元のグラフ      辺操作後のグラフ     点操作後のグラフ
……元=元……元   ……逆ー○ー逆……元   ……逆ー○ー逆……逆ー○
……元=元      ……逆ー○ー逆      ……逆ー○ー元ー○
明らかに、点操作と辺操作の順序を入れ替えても結果は同じである。
そこで、点操作を何回か繰り返してから、辺操作を何回か繰り返すものとする。

ところで、点操作は明らかにグラフの端の点に対してしかできないが、グラフの片端だけにする場合と、グラフの両端にする場合が考えられる。

以下、Mを正整数、L,Rを非負整数とする。

【A】グラフの片端だけに点操作をする場合

まず、片端だけに点操作を何回か繰り返すと、
必ず (●……)●ー○ か ○ー●(……●) になる。

辺操作は両端が●である辺を選ぶので、全点操作終了時点では●は偶数(2M)個でなければならないが、明らかに、グラフの片端の点に2M回点操作をすれば実現できる。

次に、グラフの端に1番近い両端が●である辺に対し、M回辺操作をすれば2M個の●は3M個の○に変わる。
すると、最初から○だった1つを加えると、○の個数Nは3M+1となる。

3M+1は、明らかに3で割ると1余る。

【B】グラフの両端に点操作をする場合

まず、両端に点操作を何回か繰り返すと、
必ず ○ー{(●……)●ー}○{ー●(……●)}ー○ になる。

全点操作終了時点では、左側の●も偶数(2L)個、右側の●も遇数(2R)個でなければならないが、
明らかに、グラフの左端の点に(2L+1)回、右端の点に(2R+1)回点操作をすれば実現できる。

次に、グラフのそれぞれの端に1番近い両端が●である辺に対し、
合計(L+R)回辺操作をすれば2(L+R)個の●は3(L+R)個の○に変わる。

すると、最初から○だった3つを加えると、○の個数Nは3(L+R)+3個となる。

3(L+R)+3は、明らかに3の倍数である。

証明終わり。


◆東京都 昔とった杵柄 さんからの解答。

答えは、「Nを3で割った余りが、0と1の時は可能で、2の時は不可能。」です。

N=3M+1と、3Mの時に可能なのは、Footmarkさんと同様です。
以下、N=3M+2の時には、真っ白にはできない事を証明します。

【証明】

1) オイラー数のような物の定義

白丸と黒丸の図形に対して、左から何番目の位置に黒があるかを考えて、その数字を、大きい順に並べて、交互に足して引いた数を作り、 それを mod3 で見た数を、オイラー数(のような物)と定義します。

例えば、「○●○○●●」という図形だったら、
左から、6、5、2番目に黒があるので、
+6-5+2 = 3 = 0 (mod3)となります。

2) オイラー数のような物の性質

問題にある操作のうち、一番左に○を付ける操作と、中間に割り込ませる操作では、オイラー数(のような物)は 1減少(mod3)します。

例えば、左端に○を付ける操作の場合、
左端が○で、その右側に●が偶数個ある場合は、
「○…(●が偶数個)…」が、「○●…(●が偶数個)…」となり、
●が偶数個の部分は、交互に足して引くので、±0
増えた●は、大きい方から奇数番目に当たるので、+2
合計、+2 = -1 (mod3) になります。

実は、私は、全部のパターンについて証明する事を考えていたのですが、Y.M.Ojisanさんの図にあるように、黒丸間の距離の合計だと思えば、当たり前ですね…。

3) その結果

初石に対して、その左側だけに操作する事を考えると、

4) 証明

初石に対して、左側への操作と右側への操作を分けて考えます。
(右側への操作も、同様の事が言えます。)

N=3M+2の場合、
初石に対しての操作は、次の3パターンになります。

(A)左側に0回、右側に1回
(B)左側に1回、右側に0回
(C)左側に2回、右側に2回 (mod3)

(A)の場合、左側は、すべて○に出来ますが、右側を、すべてを○にする事は出来ません。

(B)の場合、右側は、すべて○に出来ますが、左側を、すべてを○にする事は出来ません。

(C)の場合、片側だけ考えても、すべてを○にする事は出来ません。

従って、すべてを○にする事はできません。

【コメント】

私の場合は、もしかして、N=11 ぐらいは出来るのでは?と、考えてを捨てきれずに、パソコンで全通り(N=11,14,17,20に対して)検索してしまいました。
やっぱり、テストで出たら、絶対アウトですね。


◆愛知県 Y.M.Ojisan さんからのコメント。

Footmarkさんの解答で 特に
「全点操作終了時点では、左側の●も偶数(2L)個、右側の●も遇数(2R)個でなければならない」
のところがどうしてもトレースできません。
必要条件の方<。。ならない>に付いて、さらに解説をお願いいたしたく思います。


◆山梨県 Footmark さんからの解答。

「左側の●の個数も右側の●の個数も偶数でなければならない」と、するのは誤りで、証明も必要十分ではなく、不十分でした。m(_ _)m
よって、解答を改めました。


1直線上の黒点は、1直線上にない新たな点と1の操作をすれば白点にできるので、 「1点もしくは枝別れのない棒状グラフ」でないと、1直線上に並ぶ白点は何個でも可能です。
よって、「1点もしくは棒状グラフ」という条件があるものとします。

【答え】

Nは、3の倍数か3で割ると1余る。

【証明】

便宜的に、白点を○で黒点を●で表し、両端だけに点を持つ線分を「辺」と呼ぶものとする。
また、1の操作は点を選ぶので「点操作」、2の操作は辺を選ぶので「辺操作」と呼ぶものとする。

【操作をしないとき】

白点の個数Nは1だが、1は明らかに3で割ると1余る。

【操作をするとき】

下は、右端の点に点操作をしてから、ある特定の辺(=)に辺操作をしたときと、ある特定な辺(=)に辺操作をしてから、右端の点に点操作をしたときの、 比較である。


元のグラフ      点操作後のグラフ     辺操作後のグラフ
……元=元……元   ……元=元……逆ー○   ……逆ー○ー逆……逆ー○
……元=元      ……元=逆ー○      ……逆ー○ー元ー○
 
元のグラフ      辺操作後のグラフ     点操作後のグラフ
……元=元……元   ……逆ー○ー逆……元   ……逆ー○ー逆……逆ー○
……元=元      ……逆ー○ー逆      ……逆ー○ー元ー○
明らかに、点操作と辺操作の順序を入れ替えても結果は同じである。
そこで、点操作を何回か繰り返してから、辺操作を何回か繰り返すものとする。

また、どのような辺操作をしても、下のように●の総個数の偶奇は明らかに変わらない。


…●ー●… → …○ー○ー○…
…●ー○… → …○ー○ー●…
…○ー●… → …●ー○ー○…
…○ー○… → …●ー○ー●…
よって、●の個数を0(偶数)個にするには、全点操作終了時点で既に●の総個数が偶数でなければならない。

ところで、点操作は明らかにグラフの端の点に対してしかできないが、グラフの片端だけにする場合と、グラフの両端にする場合が考えられる。

以下、Mを正整数、L,R,L',R'を非負整数とする。

【A】グラフの片端だけに点操作をする場合

片端だけに点操作を何回か繰り返すと、
必ず (●……)●ー○ か ○ー●(……●) になる。

ところで、全点操作終了時点では●の総個数は偶数でなければならないが、 ●の個数を2M個にするには、グラフの片端の点に2M回点操作をすれば実現できる。

この後、グラフの端に1番近い両端が●の辺に対し、M回辺操作をすれば2M個の●は3M個の○に変わる。

すると、最初から○だった1つを加えると、○の個数Nは3M+1となる。
3M+1は、明らかに3で割ると1余る。

【B】グラフの両端に点操作をする場合

両端に点操作を何回か繰り返すと、
必ず ○ー{(●……)●ー}○{ー●(……●)}ー○ になる。
全点操作終了時点で、左側の●の個数をL個、右側の●の個数をR個にするには、グラフの左端の点に(L+1)回、右端の点に(R+1)回点操作をすれば実現できる。

ところで、全点操作終了時点では(L+R)は偶数ゆえ、LとRは共に偶数か共に奇数のいずれかである。

共に偶数なら、L=2L'、R=2R' とすると、

グラフの左端に1番近い両端が●の辺に対しL'回、
グラフの右端に1番近い両端が●の辺に対しR'回、
辺操作をすれば、2(L'+R')個の●は3(L'+R')個の○に変わる。

すると、最初から○だった3つを加えると、○の個数Nは3(L'+R')+3個となる。

3(L'+R')+3は、明らかに3の倍数である。

共に奇数なら、中央の○を持つどちらか一方の辺に対し、辺操作をすれば、○が1つ増え、連続した●の個数はいずれも偶数となる。

このとき、左側の●の個数を2L'個、右側の●の個数を2R'個とすると、
グラフの左端に1番近い両端が●の辺に対しL'回、
グラフの右端に1番近い両端が●の辺に対しR'回、
辺操作をすれば、2(L'+R')個の●は3(L'+R')個の○に変わる。

すると、最初から○だった4つを加えると、○の個数Nは3(L'+R')+4個となる。

3(L'+R')+4は、明らかに3で割ると1余る。

【Nを3で割ったとき、2余ることはない証明】

計算できるように、

●をx軸に対称移動の行列

○をー2π/3回転の行列

とすると、

下に示すように、どのような辺操作も操作前の行列と操作後の行列は等しい。


●ー● → ○ー○ー○ : bb=www
●ー○ → ○ー○ー● : bw=wwb
○ー● → ●ー○ー○ : wb=bww
○ー○ → ●ー○ー● : ww=bwb
つまり、左辺の行列を右辺の行列に置き換えても変わらない。
また、明らかにbb=wwwは単位行列である。

もし、Nは3で割って2余るなら、wwwが単位行列ゆえ、ww…wはwwと等しい筈である。
そこで、全点操作終了時点で起こり得るすべての状態を考えてみる。

bb…bwまたはwb…bbは、bbが単位行列ゆえ、
bが偶数個ならwとなり、bが奇数個ならbwまたはwbとなり、wwとはならない。

wb…bwb…bwは、bbが単位行列ゆえ、
wbwbw=w,wwbw=wb,wbww=bw,www(単位行列)のいずれかとなり、wwとはならない。

よって、Nを3で割って2余ることはあり得ない。

証明終わり。


 『高校生からの挑戦状Part29』へ

 数学の部屋へもどる