続・自作バトルシップ解説

もう少し書きたくなった

 

 前回、自作したバトルシップの中から 1 問選んで解説をしました。

sp1-puzzle.hatenadiary.jp

その最後に、6 個目に公開した作品も美しい理詰めがあると書きました。

これも非常に難しく、またあまり解かれていないようなので、理詰めを公開しておきます。

ただし、前回ほど丁寧な解説ではなく、要所のみの説明となります。

問題の画像はこちら:

f:id:SP1_puzzle:20210814032104p:plain

ツール、解答登録はこちらから。

 

序盤・格子点占有とブロック占有の合わせ技

この問題でもまた、格子点的な余裕とブロック的な余裕を評価することになります。基本的な解説については前回の記事を参照してください。

さて前回同様、中央の 5-6 行目で 4 個しか艦が入らないため、ブロックの余裕が 1 消費され、格子点の余裕も最低 3 消費されます。

一方で角でのブロックの余裕の消費はなく、格子点の余裕も確定の 3 個+対角に 1 個の 4 個、それが 4 箇所で合わせて 16 個の消費にとどまります。

なのでブロックの余裕も格子点の余裕も、どちらも 2 余ってしまいます

それ以上議論が進まないように見えますが、実はこの角の形にはもう少し仕掛けがあるのです。

f:id:SP1_puzzle:20210814033125p:plain

くぼんだマスに艦が入るかどうかで場合分け

 L 字型の波マスのくぼんだ所 (2 行 2 列のマスなど) に艦が入るかどうかを考えましょう。

そのマスに艦が入らない場合、ブロックとして艦が入らないこととなり、ブロック的な余裕を 1 消費します。

一方そのマスに艦が入る場合、角で 5 個の格子点が使われないことになり、格子点的な余裕を余計に 1 消費することになります。

したがって、角でブロックの余裕か格子点の余裕を 1 消費してしまうのです!

そして、角は 4 箇所、残る余裕はそれぞれ 2 なので、ちょうど余裕を食いつぶすことになるのです!!

このことから、以下の事実が分かります:

  • 4 つの角の L 字のくぼみについて、 2 箇所は艦が入り、2 箇所は艦が入らない。
  • 角と中央列以外に、ブロックの余裕も頂点の余裕もない。よって前の記事と同様に、艦の入り方に制約がかかる。
  • 具体的には、ブロック由来の制約として、偶数艦の分かれ方が 2 ずつになる・中央列で艦の入らないブロックは 1 つのみ、というもの
  • 格子点由来の制約として、角と中央列以外はすべて頂点占有される・角での二択ではどちらかは入る・中央で艦が連続しない、というもの

 

三線の小さい数字

前の問題では、二線に大きな数字が入ることが手掛かりでしたが、今回は三線に小さい数字が入ることが手掛かりとなります。

というのも、三線に艦があまり入らないと、辺の方向でブロック的・格子点的余裕が消費されやすくなるという背景があるためです。

今回だと 4-5 行 3 列の 2 マスのペアにともに艦が入らないとしましょう。すると、1-3 行目にも艦が入らないことになります。

一方そのペアに艦が入ると、ヒント数字の 1 から残りの行に艦は入りません。

よって「いずれにしろ」理論により、1-3 行 2 列目は白になります。

 

その後、 3 列目の精査や外周の議論を進めることにより、ここまでは埋まります (詳しい手順はここでは省略)。

f:id:SP1_puzzle:20210814040100p:plain

中盤の難所

ここが微妙に難所ですが、ヒントを活かすため 7 列目に注目しましょう。

4 行 7 列に艦が入るとすると、頂点占有により右に伸びますが、3 行目が白くなり、2 行目に艦が 3 つ入ることになってハタンします。よって艦が入りません。

それに加え、3 行 7 列に艦が入るとすると、今度は 5 行目に艦が 2 つ入ることになって矛盾します。よってここにも艦が入りません。

これで 7 列目のヒントの 2 が 3 択になりました。よって下部で少し進みます。

f:id:SP1_puzzle:20210814041010p:plain

ここでは 8 行目で偶数艦の切れ方に注目することで、8 行 6 列目・8 行 8 列目に艦が入るとわかります。

f:id:SP1_puzzle:20210814041410p:plain

艦をカウント・上級ver.

また手が止まりそうですが、ここまでくると艦のカウントが使えます。

この盤面では長さ 4 の艦 2 つがどこに入るかに注目するとうまくいきます。

下半分 (6-10 行目) では、 7 行 4 列のマスから 左に伸びるか・下に伸びるかのどちらかでしか入らず、高々 1 艦です。

頂点占有の影響で 8 行目に長さ 4 が入らないことに注意しましょう。

一方、上半分 (1-5 行目) でも、2 行目の 2 と頂点占有の影響で、1 艦までしか入らないとわかります。

1-4 行目にまたがるように縦に入れても、4 行目に横に入れても、どちらも他に入らなくなります。

したがって、特に下半分について 7 行 4列のマスに長さ 4 の艦が入るとわかりました!

これにより、5-6 行目の入り方が確定します。加えて 3 列目も確定し、下半分の長さ 4 の艦の入り方も決まります。

f:id:SP1_puzzle:20210814042415p:plain

あとは上半分での 長さ 4 の艦の入り方に注目したのち、長さ 5 の艦に注目することで埋めきることができます (詳細は略)。お疲れさまでした。

 

まとめ

2 種類の余裕を同時に評価するという角の仕掛けは、成立するのがかなり奇跡的で、発見したときはとても興奮したのを覚えています。

その後の理詰めも、前回解説した問題よりさらに高度で見えにくいものとなっています。しかし収束までの道のりを考えると、完成度としてはこちらの問題のほうが数段高いと思います。