shithub: puzzles

Download patch

ref: 0066cdd62aea5bde96903682e7fbdadfd5fd08d9
parent: fc3f16b364e64ad01c3c1d19e99051b922e2a4f8
author: Simon Tatham <anakin@pobox.com>
date: Sun May 22 07:45:20 EDT 2005

Special case in dead-end checking which prevents the solver falling
over on a grid containing a 0 (completely blank) tile. This can't
happen in self-generated grids, but can happen if you type in a grid
from another Net implementation. Previously, the solver would notice
(technically correctly!) that a completely blank tile connects to no
other tiles and thus forms an isolated subgraph, and would therefore
complain that no orientation of that tile could possibly yield a
valid solution...

[originally from svn r5828]

--- a/net.c
+++ b/net.c
@@ -657,7 +657,7 @@
 		     * dead ends of size 2 and 3 forms a subnetwork
 		     * with a total area of 6, not 5.)
 		     */
-		    if (deadendtotal+1 < area)
+		    if (deadendtotal > 0 && deadendtotal+1 < area)
 			valid = FALSE;
 		} else if (nnondeadends == 1) {
 		    /*