From e7800660e938a43a53c002b7c008222e675b72dd Mon Sep 17 00:00:00 2001 From: Sacha Ligthert Date: Tue, 21 Jan 2025 21:32:50 +0100 Subject: [PATCH] Make solver.Run() nicer, readable. --- solver/processing.go | 12 ++++++++++++ solver/solver.go | 12 ++---------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/solver/processing.go b/solver/processing.go index 30c09e6..30de1c8 100644 --- a/solver/processing.go +++ b/solver/processing.go @@ -6,6 +6,18 @@ import ( "strconv" ) +func (solver *Solver) populate_blocks() { + solver.find_blocks(&solver.row1, &solver.row1s) + solver.find_blocks(&solver.row2, &solver.row2s) + solver.find_blocks(&solver.row3, &solver.row3s) + solver.find_blocks(&solver.row4, &solver.row4s) + solver.find_blocks(&solver.row5, &solver.row5s) + solver.find_blocks(&solver.row6, &solver.row6s) + solver.find_blocks(&solver.row7, &solver.row7s) + solver.find_blocks(&solver.row8, &solver.row8s) + solver.find_blocks(&solver.row9, &solver.row9s) +} + func (solver *Solver) find_blocks(row *string, rows *[]int) { // Declare selection var selection []int diff --git a/solver/solver.go b/solver/solver.go index 84a03f6..2d29d1a 100644 --- a/solver/solver.go +++ b/solver/solver.go @@ -16,19 +16,11 @@ func Run() { solver.row8 = "006283090" solver.row9 = "200590006" + // Load blocks from CSV file solver.load_blocks() - //fmt.Println("Total blocks:", len(solver.blocks)) // Find rows that fit with the entered rows - solver.find_blocks(&solver.row1, &solver.row1s) - solver.find_blocks(&solver.row2, &solver.row2s) - solver.find_blocks(&solver.row3, &solver.row3s) - solver.find_blocks(&solver.row4, &solver.row4s) - solver.find_blocks(&solver.row5, &solver.row5s) - solver.find_blocks(&solver.row6, &solver.row6s) - solver.find_blocks(&solver.row7, &solver.row7s) - solver.find_blocks(&solver.row8, &solver.row8s) - solver.find_blocks(&solver.row9, &solver.row9s) + solver.populate_blocks() solver.iter = int64(len(solver.row1s)) * int64(len(solver.row2s)) * int64(len(solver.row3s)) * int64(len(solver.row4s)) * int64(len(solver.row5s)) * int64(len(solver.row6s)) * int64(len(solver.row7s)) * int64(len(solver.row8s)) * int64(len(solver.row9s)) fmt.Println("Number of iterations:", solver.iter)