こんにちは。東久留米市の学習塾塾長です。
今回は、2019年日本数学オリンピック本選に出題された組合せの問題を取り上げます。
問題は、
「nを3以上の奇数とする。n×nのマス目を使ってゲームを行う。ゲームは
からなり、各ターンでは以下の操作を順に行う。
● 整数の書き込まれていないマスを1つ選び、
の整数を1つずつ書き込む。ゲームを通してどの整数も1回しか書き込めない。
● そのマスを含む行、列それぞれについて、書き込まれている整数の和がnの倍数であれば1点(両方ともnの倍数であれば2点)を得る。
ゲームが終了するまでに得られる点数の総和としてありうる最大の値を求めよ。」
です。
早速、取り掛かりましょう。
のいくつかの整数の和がnの倍数かどうかがポイントになるので、これらの整数をnで割った余りを考えるのが手筋です。このとき、余りが0、1、2、・・・、n-1 になるものがそれぞれn個ずつあります。
ここで、図1のような5×5のマス目で、最上行の左から順に、nで割った余りが0、1、4になる整数を書き込んだ場合を調べてみましょう。
▲図1.5×5のマス目で試行します
最上行の左端に0を書き込んだとき、1行目と1列目の整数の和がnの倍数になり、行、列ともに1点ずつ獲得です。
続いて、0の右隣に1を書き込んだとき、1行目と2列目の整数の和はnの倍数でないので、行、列ともに無得点です。
さらに、1の右隣に4を書き込んだとき、1行目の整数の和はnの倍数になり1点獲得し、3列目の整数の和はnの倍数でないので、無得点です。
この簡単な試行から判ることは、
・ 整数の和がnの倍数である行または列に0を書き込むと1点獲得できる
→ゲーム開始時、いずれの行、列についてもそれらの整数の和はnの倍数なので、初めにn個の0を書き込んでしまっても得られる得点を失うことはない
・ n個の0を書き込んだ後、残りの空いているマス目に、1とn-1、2とn-2、・・・というような2つの和がnの倍数の組合せであるペアを書き込むことで得点することができる
ということです。
そこで、図2のようなn×nのマス目で、0が偶数個書き込まれた行がk個、それらのk個の行に書き込まれた0の個数をs個、0が奇数個書き込まれた行がl個、それらのl個の行に書き込まれた0の個数をt個として、n個の行での得点の上限を見積もりましょう。このとき、k、l、s、tは、0≦k≦n-1、1≦l≦n、k+l=n、0≦s≦n-1、1≦t≦n、s+t=n を満たす整数です。
▲図2.n個の行での得点の上限を見積もります
・ 0が偶数個書き込まれたk個の行について
0がs個書き込まれているので、これらによる得点は、
s
です。
また、nは奇数なので、各行の空いているマス目の個数は奇数になり、空いているマス目に書き込むことができるペアの個数は、
です。
このとき、ペア1個で1点得点できるので、これらによる得点は、
です。
したがって、0が偶数個書き込まれたk個の行での得点の上限は、
になります。
・ 0が奇数個書き込まれたl個の行について
0がt個書き込まれているので、これらによる得点は、
t
です。
また、各行の空いているマス目の個数は偶数になり、空いているマス目に書き込むことができるペアの個数は、
で、これらによる得点は、
です。
したがって、0が奇数個書き込まれたl個の行での得点の上限は、
になります。
以上から、n個の行での得点の上限Pは、
になります。
ここで、
k+l=n
s+t=n
から
です。
つまり、Pが最大になるのはk=0のときで、その値は、
になります。
これは列についても同様なので、このゲームで得られる得点の総和の上限は、
になります。
あとは、得点の総和が
になる書き込み方を確かめればお仕舞いです。
k=0、つまり、0が偶数個書き込まれる行がないということは、n個の0は各行に1個ずつ書き込まれることになり、これは列についても同じなので、図3のように、n個の0をn×nのマス目の対角線上に書き込むのが簡単な例になります。
▲図3.n個の0をn×nのマス目の対角線上に書き込みました
それらの0の右隣に1、さらにその右隣にn-1、・・・と繰り返して書き込むことにより、得点の総和を
にすることができます。
以上から、ゲームが終了するまでに得られる点数の総和としてありうる最大の値は、
で、これが答えです。
簡単な問題です。
今回は、2019年日本数学オリンピック本選に出題された組合せの問題を取り上げます。
問題は、
「nを3以上の奇数とする。n×nのマス目を使ってゲームを行う。ゲームは
からなり、各ターンでは以下の操作を順に行う。
● 整数の書き込まれていないマスを1つ選び、
の整数を1つずつ書き込む。ゲームを通してどの整数も1回しか書き込めない。
● そのマスを含む行、列それぞれについて、書き込まれている整数の和がnの倍数であれば1点(両方ともnの倍数であれば2点)を得る。
ゲームが終了するまでに得られる点数の総和としてありうる最大の値を求めよ。」
です。
早速、取り掛かりましょう。
のいくつかの整数の和がnの倍数かどうかがポイントになるので、これらの整数をnで割った余りを考えるのが手筋です。このとき、余りが0、1、2、・・・、n-1 になるものがそれぞれn個ずつあります。
ここで、図1のような5×5のマス目で、最上行の左から順に、nで割った余りが0、1、4になる整数を書き込んだ場合を調べてみましょう。
▲図1.5×5のマス目で試行します
最上行の左端に0を書き込んだとき、1行目と1列目の整数の和がnの倍数になり、行、列ともに1点ずつ獲得です。
続いて、0の右隣に1を書き込んだとき、1行目と2列目の整数の和はnの倍数でないので、行、列ともに無得点です。
さらに、1の右隣に4を書き込んだとき、1行目の整数の和はnの倍数になり1点獲得し、3列目の整数の和はnの倍数でないので、無得点です。
この簡単な試行から判ることは、
・ 整数の和がnの倍数である行または列に0を書き込むと1点獲得できる
→ゲーム開始時、いずれの行、列についてもそれらの整数の和はnの倍数なので、初めにn個の0を書き込んでしまっても得られる得点を失うことはない
・ n個の0を書き込んだ後、残りの空いているマス目に、1とn-1、2とn-2、・・・というような2つの和がnの倍数の組合せであるペアを書き込むことで得点することができる
ということです。
そこで、図2のようなn×nのマス目で、0が偶数個書き込まれた行がk個、それらのk個の行に書き込まれた0の個数をs個、0が奇数個書き込まれた行がl個、それらのl個の行に書き込まれた0の個数をt個として、n個の行での得点の上限を見積もりましょう。このとき、k、l、s、tは、0≦k≦n-1、1≦l≦n、k+l=n、0≦s≦n-1、1≦t≦n、s+t=n を満たす整数です。
▲図2.n個の行での得点の上限を見積もります
・ 0が偶数個書き込まれたk個の行について
0がs個書き込まれているので、これらによる得点は、
s
です。
また、nは奇数なので、各行の空いているマス目の個数は奇数になり、空いているマス目に書き込むことができるペアの個数は、
です。
このとき、ペア1個で1点得点できるので、これらによる得点は、
です。
したがって、0が偶数個書き込まれたk個の行での得点の上限は、
になります。
・ 0が奇数個書き込まれたl個の行について
0がt個書き込まれているので、これらによる得点は、
t
です。
また、各行の空いているマス目の個数は偶数になり、空いているマス目に書き込むことができるペアの個数は、
で、これらによる得点は、
です。
したがって、0が奇数個書き込まれたl個の行での得点の上限は、
になります。
以上から、n個の行での得点の上限Pは、
になります。
ここで、
k+l=n
s+t=n
から
です。
つまり、Pが最大になるのはk=0のときで、その値は、
になります。
これは列についても同様なので、このゲームで得られる得点の総和の上限は、
になります。
あとは、得点の総和が
になる書き込み方を確かめればお仕舞いです。
k=0、つまり、0が偶数個書き込まれる行がないということは、n個の0は各行に1個ずつ書き込まれることになり、これは列についても同じなので、図3のように、n個の0をn×nのマス目の対角線上に書き込むのが簡単な例になります。
▲図3.n個の0をn×nのマス目の対角線上に書き込みました
それらの0の右隣に1、さらにその右隣にn-1、・・・と繰り返して書き込むことにより、得点の総和を
にすることができます。
以上から、ゲームが終了するまでに得られる点数の総和としてありうる最大の値は、
で、これが答えです。
簡単な問題です。