shithub: puzzles

Download patch

ref: e6b4800d86cfc5e1bfc5e3b5bde78a182f6fe5b2
parent: e3b21ef6c55ceae4eb3b6884dad6e9043ddbeaeb
author: Simon Tatham <anakin@pobox.com>
date: Thu Feb 2 18:04:43 EST 2012

Don't try to run solver_killer_sums on a Killer cage with only one
square. It isn't equipped for it, and will try to handle it with the
4-square case and get confused. This can come up if the
DIFF_KINTERSECT pass before that split a cage, and will cause the
solver to miss valid solutions; e.g. 3x3kadu#802065940985372 would
generate an ambiguous puzzle before this change.

[originally from svn r9402]

--- a/solo.c
+++ b/solo.c
@@ -1473,7 +1473,7 @@
     }
     assert(nsquares > 0);
 
-    if (nsquares > 4)
+    if (nsquares < 2 || nsquares > 4)
 	return 0;
 
     if (!cage_is_region) {