格子点を通る直線の数

2026.03.22

 問題はこちらです。


  10×10の正方格子のすべての頂点を正方形の辺に平行でない線で覆う場合、何本の線が必要ですか?  
 
                             (1996年 Moscow Maths Olymiads)

 正方形の辺に平行な直線が使えるなら10本の直線が必要十分です。でもそれは使えません。多くの方がまず思い付くのは45°の直線ではないでしょうか(図1)。

図 1

 斜め45°の直線であれば、ご覧のように19本必要です。これ、もっと減らせないでしょうか?

 左下と右上の格子点は、それぞれ1点しか通らない直線になっています。これは「もったいない」です。この2本の直線の代わりに、この2つの格子点を結ぶ直線を使えば1本節約できます(図2)。

図 2

 これで18本になりました。さらに減らせないでしょうか?

 実はこれが最小値なのです。この10×10の正方格子の外周の点に注目してみましょう。全部で36点あります。水平や垂直な直線が使えないということは、1本の直線が外周の格子点を通るのは高々2点ということになります。(1本の直線が外周の3点以上を通るためには直線は水平か垂直でしかあり得ません。)ということは、36点を通るためには最低18本の直線が必要ということになります。

 そして、その一例として図2のように直線18本を引けば100点すべての格子点を通ることが示せています。つまりこれが最小値で、かつそれを実現する解があることが示せました。


mailto:hhase@po10.lcv.ne.jp
2001-2026 hhase