hckrnws
Or perhaps just use a language that's designed to solve those sorts of problems? In 14 lines of code.
Is there a similarly short/simple solution not using all of the built ins? Haven't worked with prolog in a while but should be easy enough with primitives (albeit with more duplication)?
Why not just
blocks(Rows, Blocks), maplist(all_distinct, Blocks), maplist(label, Rows)Peter Seibel's original post is worth reading in its entirety.
It's a decently balanced piece. It leaves room for various views, and its summation seems about right.
https://gigamonkeys.wordpress.com/2009/10/05/coders-unit-tes...
Some comments 2 months ago (15 points, 7 comments)
2012 (28 points, 9 comments) https://news.ycombinator.com/item?id=4434744
2010 (65 points, 48 comments) https://news.ycombinator.com/item?id=1221399
The one from a couple months ago is here: https://news.ycombinator.com/item?id=45733410
I remember implementing some of these
https://www.stolaf.edu/people/hansonr/sudoku/12rules.htm
With a simple array of unsigned int and bit operations like 20 years ago. It could solve a lot of puzzles within microseconds. Later I realized rules 1, 2, 5, 6 are pretty much the same.
Crafted by Rajat
Source Code