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