某有名パズル雑誌の2018年夏号に載っていたパズルを解くプログラムを作ってみたくなり、Pythonの練習も兼ねて作ってみました。
パズルの名前は『四角に切れ』というものです。
四角に切れは、格子状のマスからなる盤上のパズルです。
マスの間には点線が書かれており、いくつかのマスには数字が書かれています。
パズルを解くルールは次の通りです。
問題のサンプルと回答は、以下の通りです。
![]() |
![]() |
![]() |
パズルのルールから分かることをは以下の通りです。これらがパズルを解くうえで役に立つかもしれません。
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
色々な解き方があるとは思いますが、下記の手順で解いていきます。
例えば、下記の問題で、数字の6に注目します。
盤面から外れる長方形を除くと、数字の6の長方形の候補は2通りあります。
2通りの長方形の共通部分は、数字の6の長方形の候補で共通に含まれるマスになります。
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
問題 | 数字の6の長方形の候補 | 共通に含まれるマス |
次に、右上の4に注目します。
盤面から外れる長方形を除くと、数字の4の長方形の候補は3通りあります。
このうち2つの長方形は、他の数字のマスに重なるので、除外します。
残りの長方形(正方形ですが)が、数字の4の長方形の候補で共通に含まれるマスになります。
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
問題の続き | 長方形の候補(他と重なる) | 長方形の候補 | 共通に含まれるマス |
この様な事を繰り返しで問題を解きます。
![]() |
![]() |
![]() |
この方法で絶対に解けるとの保証はないです.。
例えば、下記の問題はこの手順では解けません。
解けない問題は気にせず、この方法でプログラムしていきます。
4つのPythonのファイルでプログラムを構成します。
作ったプログラムで某有名パズル雑誌に載っていた問題を解かせたところ、どれも1秒以下で解けました。
めでたしめでたし。
![]() |