解く時の定石
ここでは、1列に10マスあるパズルを解くことを想定している。また、スペース節約のため横の列の場合のみを示すが、縦の場合も解き方は同じで、ここの総ての文章を、「左」を「上」に、「右」を「下」に読み替えれば縦の場合の解き方になる。
第1段階
第1段階では、解き始めで何も手掛りがない状態なので、手掛り無しでも黒マスか白マスか判る所から確定していく。ここでの作業を漏らすと、途中で行き詰まるので、確実にやっておかなくてはならない。
0と最高値を処理
先ず初めに行うのは、0と最高値(ここでは10)から処理するということである。何も考えなくても0の列は全部白マスであり、最高値の列は全部黒マスであることが明らかなためである。白マスであることが確定したマスには、下のように印(よく使われるのは×)を付けておくとよい。ただ、あまり大きな印をつけると、出来上がった時に絵が見辛くなるので要注意である。
足して最高値になる列を処理
複数の数字がある列で、数字と数字の間に白マスが1つと仮定して計算すると、ちょうど最高値と同じ数になる列は、1通りの可能性しかないので数字と数字の間に1マスだけ白マスを入れて塗り潰す。(例)
は、7と2の間には白マスが1マスしかないと仮定すると、7+''1''+2=10(''1''は白マスの分、以下同じ)で最高値と同じ値になるから、次の1通りしかない。この処理ができることは数字が細かくなればなるほど気づきにくいので、注意が必要である。例えば次のようなもの。は、4+''1''+2+''1''+2=10だから、である。もっと細かい場合もある。は、1+''1''+2+''1''+1+''1''+1+''1''+1=10だから、である。
左右につめた時に生じる共通の黒マスを処理
例えば、次の列はどう処理するか。この列には次の3通りが考えられる。この場合はどうしようも無いかというと、そうでもない。よく見ると、どの場合も真ん中の6マスは必ず塗られていることがわかる。従って、この列はこの様に一部が確定する。もっと言えば、一番左のマスが黒マスだと仮定した場合と、一番右のマスが黒マスだと仮定した場合で、共通する黒マスは確定する。(例)
これを、一番左が黒マスだと仮定すると、逆に一番右が黒マスだと仮定すると、2つを比べて、共通して黒マスになっているのは、となり、黄色で示した中央の2つが共通するので、次の通りマスが確定する。複数の数字がある場合についても、数字と数字の間の白マスを1マスと仮定すれば同じ事ができる。但し、左と右から塗った場合を比べた時に、黒マスで共通していても、別の数字に由来する場合は共通とは言わない(下の例を参照)。(例)
一番左が黒マスと仮定して、一番右が黒マスと仮定して、2つを比べると、共通して黒マスになっているのは、ここで、黄色のマスは同じ「4」で塗られているが、緑のマスは一番左から塗った場合は「2」、一番右から塗った場合は「4」で塗られているので、黄色のマスのみ確定である。従って次のように確定する。下図のような場合の可能性を考慮すると緑色のマスは確定されないことがわかる。
第2段階
第1段階で確定出来るのはここまでである。後は第1段階で確定したマスを手掛りに、更に確定したマスを増やしていく作業に移る。第2段階で確定したマスも、新たに確定したマスを増やす手掛りになるので、解き終わるまでここの作業を繰り返すことになる。なお、これ以降は、既に確定している黒マスは茶色のマスで、既に確定している白マスは茶色の×で、新たに確定した黒マスと白マスはそれぞれ黒マスと黒い×で表すことにする。
全黒マス、全白マスが確定した列の処理
数字の合計と既に確定した黒マスの数が一致する場合、まだ確定していないマスは全て白マスに確定する。また、まだ確定していないマスと黒マスに確定したマスの合計が数字の合計に一致した場合は、まだ確定していないマスは黒マスに確定する。(例1)
この場合、数字「1」に対して既に1つの黒マスが確定しているので、これ以外の黒マスは存在しない。従って、と白マスが確定する。(例2)
この場合、この列には合計4マスの黒マスがあるのだから、まだ確定していないマスが黒マスでないと、黒マスの数が足りなくなってしまう。従ってと黒マスが確定する。
黒マスの両隣を留める処理
数字と数字の間には白マスが1マス以上入るので、黒マスの連続が留まっていることがわかれば、その両隣は白マスに確定である。(例1)
この場合、すでに塗られている黒マスは「2」に由来して連続していることは明らかである。数字と数字の間は必ず1つ以上の白マスがあるので、と白マスが確定する。(例2)
(例1)の場合と似ているが、今度は既に確定しているマスは「1」に由来するものか「2」に由来するものか、この時点では明らかでないので、新たに確定できるマスはない。
端の処理
一番外側が確定すると、外側の数字の表す黒マスは確定である。(例1)
のように一番左が確定している場合、自動的に「3」が表しているのはと確定する。前項で述べた「黒マスの両隣を留める処理」により、左から4番目に×をつけることも忘れてないでほしい。(例2)
と、一番右が確定している場合は、自動的に「2」が表しているのは、と確定する。右から3つめの×は「黒マスの両隣を留める処理」によるものである。
狭小マスの処理
連続して取れるマスが数字より少ない場合は、その部分は白マスだと確定する。(例1)
は、右端から黒マスをとると2マスしか取れないので、右端には黒マスは入らない。従ってと確定する。(例2)
は、×と×の間には2マスしか取れないので、そこには黒マスは入らない。従ってと確定する。
確実に黒マスが届くマス、届かないマスを処理
既に黒マスが確定しており、数字と見比べて届かないマスがある場合は、そこは白マスに確定する。また、幾ら端に寄せても黒マスがはみ出す部分については黒マスに確定である。(例1)
この場合、可能性は次の2通りしかない。従って、次の様に確定する。(例2)この場合、右端から黒マスを取ったとしても、必ず右から5マス目に黒マスが届いてしまう。また、確定しているマスから左へ5マス取ったとしても、左から3マス目まで黒マスは届かないことが明らかである。従ってと確定する。(例3)この場合、右側の黒マスから左側に目一杯4マス分伸ばしたとしても、2つの黒マスは繋がらない。また、その間にはルールにより最低1つの白マスが必要なので、左から4マス目は4のマスとしては埋められない。となれば、4の左端が右にずれるので(左から5マス目)、そこから右に数えた4マス目が黒マスに確定する。
端や最高値の更新に対する処理
外側の白マスが連続して確定すると、その分だけ端が内側に寄ったものと見なす事が出来、それに伴ってその列の最高値がそれだけ少なくなったと見なせる。そこで、更新された端や最高値を使って黒マスと白マスを確定する。(例1)
これは、第1段階では確定できなかった。しかし、と確定した場合、右端が1つ分内側にずれたものと見なす事が出来、右から2つめのマスを新しい右端と考えて「左右に詰めた時に生じる共通の黒マスの処理」を行うと、と確定できる。(例2)
これは、第1段階では確定できなかった。しかし、と確定すると、この列は最高値が10から7に下がったと見なせる。すると、1+''1''+1+''1''+1+''1''+1=7となり、最高値と一致するので、と確定する。
第3段階
問題の中には上記の技術を駆使しても解けない場合もある。
消去法
上記の方法だけで行き詰まった場合。任意の箇所を、仮に塗りつぶす箇所と仮定する。更に、それを手掛かりに問題を解いて行った場合に、後に、矛盾点が生じてしまったら、そこは実は、塗りつぶしては、いけない箇所だった事が分かる。なお、矛盾点が発生するまでの展開が長いほど、先読みも困難であり、苦戦を強いられる。ゆえに、この方法は技術の中でも高度な熟練が要求される。ゲーム「ピクロス」「ピクロスNP」では、『彫(NPでは塗)』『×』『消』があるが、試し彫り(NPでは試し塗り)マークという操作性はマリオのスーパーピクロス内で登場した。
イラストロジック / 生い立ち / 基本的なルール / 解く時の定石 / 解決の流れ / 多色化 / 問題作成 / 三角形のマス / 備考
スポンサード リンク
100×100マスなど膨大なマス数になってくると、塗れるマスを探すことが非常に手間になってくる。ここで、第1段階で塗れるマスを計算によって求める方法がある。 まず、求めたい行Aのヒントに出ている数をすべて足し合わせる。(これは黒マスの合計) 次に、行Aのヒントの数引く1をさらに足す。(行Aが1,1,3,4の場合は3を足す。これは白マスの合計の最低値) 最後に...