http://qs321.pair.com?node_id=471224


in reply to Re^2: Sudoku puzzles solved using Regular Expressions
in thread Sudoku puzzles solved using Regular Expressions

I had a play with your code to try and fix the problem, but headed off in a much less elegant direction than you did by adding a $grid_c vector and another nested loop.

It got rather messy rather quickly. :-(


Perl is Huffman encoded by design.

Replies are listed 'Best First'.
Re^4: Sudoku puzzles solved using Regular Expressions
by ikegami (Patriarch) on Jun 30, 2005 at 05:42 UTC

    Yeah, there are diminishing returns to adding more shortcuts.

    Technically, $grid_v is not needed at all.

    return if index(substr($grid_v, $x*$size, $size), $n) >= 0;

    can be written as

    foreach my $y_ (0 .. $size-1) { return if substr($grid_h, $y_*$size+$x, 1) eq $n; }

    I just thought the former would be faster, even though we must constantly make copies of $grid_v in addition to $grid_h.