内外不明のCave
どうやって解くのかを考えるところからやる。
1の周りは外周を除き壁である
線はつながらなければならない
よってこうなる
記法: 線の不在は横切る線で表現する
7の周囲を見ると「ここに壁があったら7を達成できない」という場所がある
4の周囲を見る
4は右と下だけでは達成できないので上か左は壁がない
どちらに壁がなかったとしてもそれだけで4になる
よって右と下は壁である
上と左のどちらか片方だけが壁である
記法: 角の1はそれを挟む辺のうち1本が壁であるという意味
ある角が1である時、対面の角も1である
下の3に注目する
右が空きなら、それだけで3になるから、上と左は閉じなければならない
なので右上角は1である
対面の4の左下角も1なので、左が空き
上が壁
端の線が4マス伸びる
記法: 囲みの外を青、中を黄色で塗る
単色のペンでやるときは斜め線の向きで区別するのだけど今回は色もつけることにした
配色は海と島のイメージ
壁を挟むマスは違う色、壁がない隣接マスは同じ色
7の左の壁が空きに確定する
2の右が空きだと3になるのでここは壁である
2は左か下に1マス伸びる必要があるので左下角は1
Aの壁が出来たことでBの空きが確定した
気づくのが遅れた
もし2の左が空きだとする
左は青
黄色が飛地になってはいけない(輪が1つにならなくなる)ため、左上角が青になる
同じ色のマスの間には壁がないため、2から3マス連続してしまう
これはダメ
よって2の左は壁
上の3が青である場合、黄色が飛地になる、よって3は黄色
左上隅が青である場合、
7が7であるために左下隅は黄色である必要がある
黄色が飛地にならないために下一列が黄色になる
下の3が5になる、ダメ
よって左上隅は黄色、左下隅が青
下3が青だと4になるので、黄色に確定
考察
スリザーリンクは辺に情報を載せる解法がメジャー
「壁の有無までは絞れてないが、情報はある」ってのを表現する方法が必要だと思う
あとは「グリッドの任意のカットについて、それを横断する線は偶数本」という定理が知られている
この問題の場合、ヒントを使って縦横に「壁の不在」が伸びる
輪に注目してるとこの情報が活用しにくい
終盤、僕の予想以上に「青か黄色か」の判断を多用した
「黄色が飛地にならない」の法則が便利
スリザーリンクに似た見た目で勘違いしてたけど、このパズルは内外塗り分けの方が情報として使いやすいのだろう
さて次は本編を解くよだけど、1も、マップの一辺より大きいマスもないからとっかかりがない
新しい定理を作りながら考えてみる
「角を挟む辺が2か1」(以下21)の角の対面は「角を挟む辺が0か1」(以下01)、逆もまた同様
2のマスの角は21
0だと2を超えるから
なので、対面が01である
3のある角が01である場合、対角が21
ある角が0であるなら対角は2でなければならないから
これ以上にゲスなしでできることってあるのかなぁ??
右上隅の2で二択のゲスをして進めたんだけど、結構深いよな…
左上隅の2は左か下のどちらか片方に壁がある
仮定1 下に壁がある
Aに壁があると3が4以上になるから壁はない
Bに壁がないと2が3以上になるから壁がある
2の右が空き確定なので周囲に壁を置く(以下緑線)
輪が閉じないためにどんどん確定して、3が4以上になってNG
よって下に壁はない
補足、2の周囲に壁を作った時点で3の達成不能は確定していたのだが気づくのが遅れた。気付きやすくする記法があると良いかもしれない。
Aの左に壁がある
定理 2のマスの角に線が触れたとき、対角を挟む辺には線がある
線が触れた時点でその角は1
つまりどちらかの壁は開く
それだけで2以上になるので、他の壁が開くとNG
Aに壁があると3が達成不能
Bに壁があると3が達成不能
輪が閉じないようにする
7の右上角は20
もし0なら対角は2である必要があるが、矛盾
よって2
角ラベルを斜めに伝搬しておいたお陰でさっくり決まった
視野を広げる
7の角が1だとより小さいヒントを巻き込んで達成不能になるので0に確定
対面する3の角から1の可能性が消えるので2に確定
対角も0に確定する気がしたけど勘違い
7のマスが2を巻き込んで達成不能にしないために6の側に壁不在の確定するところがある
もし2の左下角が1なら、右上角が2になるが、2か3のどちらかが達成不能になるので、左下角は2である
対角が1に確定し、3の右下角も1になる
つまり3は横に伸びるか縦に伸びるかの二択
もし横に伸びるとすると7と2の達成のために壁がどんどん決まっていって、壁が輪になってしまう
よって3は縦に伸びる
下の2は
角に線が触れたら対角は2
左に伸びると3になる
ので上に伸びる
塗る
上辺の4に注目
青の時、縦4か112かのどちらか。112だと2がNGなので縦4、黄色は止まる
黄色の時、黄色を引き出そうとしても下の4が横4になって止まる
よってこちらサイドから黄色を引き出すことはできず、右辺の黄色はつながらなければならない
右辺に注目
この6マスを、黄色をつなげつつ、4の制約を満たすように塗る問題
もし上4が青なら
横4になると途切れるのでNG、
横2だと下4が縦5になるのでNG、
縦4だと下4が3にしかなれない
よって上4は黄色に確定
もし下4が青なら
横4なら途切れるのでNG
31なら、上4が縦4に確定して途切れるのでNG
よって下4は黄色に確定
その上のマスは青に確定
下4は横31に確定するので、上4が縦4に確定する
4が青に確定する。
上の図を描いた時に見落としていた
「数の入り方が確定した場合、行き止まりの一つ先は逆の色」
黄色が途切れてはいけない条件により、縦4に確定する
6が黄色になって、縦6に確定する。
2は右につながらない。
6の下が青になる
「数の入り方が確定した場合、行き止まりの一つ先は逆の色」
4が黄色であるとするとその青が邪魔で入らないので、4は青に決まる
4はもう1マス青だね
2が青で下に決まる
2つ下が黄色に決まる
5は黄色でなければ収まらない、横5に確定するが、角まで入るかどうかは未定
そろそろ10を使う時か
もし10が青であるとすると、下辺の1マスを残して全て青になる。5がどの入り方をしてもここで黄色が途切れてしまう。
よって10は黄色である。
もし10の右が青なら10が実現不能、よって黄色である
同様に10の左と下も黄色である
もし3が青だとすると右は黄色、縦では足りないので、左は青に確定する
もし3が黄色だと、青の飛び地ができてはいけないのでその上も黄色、しかし3が4になってしまう、NG
よって3は青
3の左が青に決まったことで10の入り方が確定する
4は青か黄色か
もし黄色なら
右は青
3が縦に確定、左が青
4が縦に確定
もし青なら
黄色が途切れないように頑張ると左の2が達成不能になる
よって黄色
2が青だとすると、6が横になって、黄色が途切れるので2は黄色
これはNG
下辺の2は、青くても黄色くても黄色が途切れる。
中央の2を通って黄色をつなげることはできない。
なので6を黄色が通る必要がある。
6が黄色になったことで右の青との間に壁ができ、2の左に壁がないことが決まり、入り方が決まる
もし6の左に壁があると、縦6が上の黄色と干渉して実現不能、よって壁はない
続きは眠くないときに。