Skip to content

Latest commit

 

History

History
35 lines (30 loc) · 1.61 KB

TODO.md

File metadata and controls

35 lines (30 loc) · 1.61 KB

Experiments

  • reduce board by removing solved lines:

    • if there is a fully solved row (column), one can safely remove it (with 'comparing neighbours' check)
    • if the block position fully revealed, one can replace that block with white (for the whole board). Consider applying 'comparing neighbours' procedure.
    • if only one color left after previous two procedures, then replace MultiColor with BinaryColor (see puzzles 672, 3085, 10585, 16552, 16878).
    • if one can determine if the cell belongs to the particular block one can replace this cell with 'space' and decrement the appropriate blocks.

    comparing neighbours:

    • if for every pair of cells in (previous, next) rows (columns) the intersection of possible colors (colors_previous & color_next) does not contain any colors except 'space'.
  • play with CHOOSE_STRATEGY and the order of colors for given points

Features

Refactoring

  • solver::run_with_default
  • replace Color with ColorScheme, move Block inside ColorScheme
  • rewrite backtracking search with Result
  • remove probing and propagation structures: make it impl Probe for Board