interstrats

package
v0.0.0-...-af16e0c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 30, 2022 License: BSD-2-Clause Imports: 2 Imported by: 0

Documentation

Overview

Package interstrats provides strategies for handling candidate removal thanks to intersections, these are also called pointing pairs/triples and box line reductions.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BoxLineReduction

func BoxLineReduction(sol *solver.Solver) (changed bool)

BoxLineReduction is the dual strategy to pointing pairs/triples, it looks for rows/columns where all available locations for a digit are limited to a single box, and removes all other candidate locations of that digit from that box. If a change was made, it returns true, otherwise false.

func PointingSets

func PointingSets(sol *solver.Solver) (changed bool)

PointingSets is the strategy for handling pointing pairs/triples. It iterates over the boxes, and for each box checks digits 1-9 first for row pointers, then for column pointers. It returns true as soon as one pointing set forces a change, and false if no change is forced. Note: A pointing pair/triple occurs when all candidates for where to place a digit in a given box occur in the same row or in the same column. In that case, we can remove the digit from the rest of the row/column.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL