protected void AddPuzzleState() { _puzzleStates.AddLast(Puzzle.CopyPuzzleState()); }
public void Dispose() { _puzzleStates.Clear(); Puzzle.Dispose(); }
protected PuzzleSolver(TPuzzle puzzle) { Puzzle = puzzle; _puzzleStates.AddFirst(Puzzle.CopyPuzzleState()); }