# HG changeset patch # User Shlomi Fish # Date 1337092997 -10800 # Node ID 31629f73bb44d6f9a8d7b40f7bc16028f11b7762 # Parent 6d0bd161d2e468c6919ceb45482786f2ab47383e Start writing a document with Nurikabe strategies. These are strategies that help me as a human solver of Nurikabe, and may help in writing solvers. diff --git a/docs/Nurikabe_Strategies.txt b/docs/Nurikabe_Strategies.txt new file mode 100644 --- /dev/null +++ b/docs/Nurikabe_Strategies.txt @@ -0,0 +1,30 @@ +# vim:ft=txt + +#. Proximity analysis - some cells can be eliminated because they are not +reachable (also consider that white cells of certain islands interfere +with the extent of different islands). + +#. A straight row or column of black cells can be tested for black cells in +its middle which will place two white cells and so one can conclude that +they are white. + +#. If you have something like: + + |[B][G][B] + |[G][G][B] + ----------------- + +Then it is evident that the upper [G] (Gray/Unknown) has to be white, or else +the lower [G]s will also all be black. + +#. Cells between two islands (either diagonally or in a one-cell spacing) must +be black, or else the two islands will be joined. + +#. Filling-style strategy: if past a certain geometery (that is within the +limits of its number), an island can only expand into one cell, then that +cell will be white. + +#. If an Island reaches certain points that reaching them consumes all of its +number, then its white edge points can be marked with black in the opposite +direction to its extent. +