chiark / gitweb /
Tracks: add reverse neighbour deduction in hard mode.
authorSimon Tatham <anakin@pobox.com>
Wed, 26 Feb 2020 06:26:36 +0000 (06:26 +0000)
committerSimon Tatham <anakin@pobox.com>
Wed, 26 Feb 2020 06:32:35 +0000 (06:32 +0000)
commit5e9dc42e54e777dbd014b4fc6e9312061d000915
tree89abe5c641dbe9164e338fde5b9cdb62c0f0895d
parentd724e136663ed028aa6429f0bc5cbf93585f5aa0
Tracks: add reverse neighbour deduction in hard mode.

This is the contrapositive of the deduction introduced in the previous
commit. Previously I said: a square A can have some edges blocked in
such a way that you know it can't be filled without a particular one
of its neighbours B also being filled. And then, if you know the row
containing A and B only has one filled square left to find, then it
can't be A.

This commit adds the obvious followup: if you know the row only has
one _empty_ square left, then for the same reason, it can't be B!

I'm putting this in at the new Hard difficulty, mostly out of
guesswork rather than rigorous play-testing, because I don't remember
ever having _observed_ myself making this deduction in the past. I'm
open to changing the settings if someone has a good argument for it.
tracks.c