Little update.
This commit is contained in:
parent
d11db280c1
commit
95f560fc8a
10
.pre-commit-config.yaml
Normal file
10
.pre-commit-config.yaml
Normal file
@ -0,0 +1,10 @@
|
||||
# See https://pre-commit.com for more information
|
||||
# See https://pre-commit.com/hooks.html for more hooks
|
||||
repos:
|
||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||
rev: v3.2.0
|
||||
hooks:
|
||||
- id: trailing-whitespace
|
||||
- id: end-of-file-fixer
|
||||
- id: check-yaml
|
||||
- id: check-added-large-files
|
13
Taskfile.yml
Normal file
13
Taskfile.yml
Normal file
@ -0,0 +1,13 @@
|
||||
# https://taskfile.dev
|
||||
|
||||
version: '3'
|
||||
|
||||
tasks:
|
||||
default:
|
||||
cmds:
|
||||
- go run .
|
||||
silent: true
|
||||
precommit:
|
||||
cmds:
|
||||
- pre-commit run --all
|
||||
silent: true
|
362880
blocks.csv
Normal file
362880
blocks.csv
Normal file
File diff suppressed because it is too large
Load Diff
2
go.mod
2
go.mod
@ -1,3 +1,5 @@
|
||||
module gitea.ligthert.net/golang/sudoku-funpark
|
||||
|
||||
go 1.23.3
|
||||
|
||||
require github.com/gocarina/gocsv v0.0.0-20240520201108-78e41c74b4b1 // indirect
|
||||
|
2
go.sum
Normal file
2
go.sum
Normal file
@ -0,0 +1,2 @@
|
||||
github.com/gocarina/gocsv v0.0.0-20240520201108-78e41c74b4b1 h1:FWNFq4fM1wPfcK40yHE5UO3RUdSNPaBC+j3PokzA6OQ=
|
||||
github.com/gocarina/gocsv v0.0.0-20240520201108-78e41c74b4b1/go.mod h1:5YoVOkjYAQumqlV356Hj3xeYh4BdZuLE0/nRkf2NKkI=
|
113
main.go
113
main.go
@ -1,14 +1,91 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"encoding/csv"
|
||||
"fmt"
|
||||
"io"
|
||||
"log"
|
||||
"os"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
func main() {
|
||||
blocks := generate_blocks()
|
||||
fmt.Println(len(blocks))
|
||||
fmt.Println(blocks[0])
|
||||
|
||||
blocks := load_blocks()
|
||||
fmt.Println("Total blocks:", len(blocks))
|
||||
|
||||
// Parse parameters
|
||||
// Turn parameters into rows
|
||||
row1 := "769104803"
|
||||
// row2 := "154800060"
|
||||
// row3 := "002700150"
|
||||
// row4 := "600900308"
|
||||
// row5 := "045328670"
|
||||
// row6 := "328670945"
|
||||
// row7 := "597410280"
|
||||
// row8 := "006284090"
|
||||
// row9 := "200590006"
|
||||
|
||||
// Find rows that fit with the entered rows
|
||||
rows1 := find_blocks(blocks, row1)
|
||||
// rows2 := find_blocks(blocks, row2)
|
||||
// rows3 := find_blocks(blocks, row3)
|
||||
// rows4 := find_blocks(blocks, row4)
|
||||
// rows5 := find_blocks(blocks, row5)
|
||||
// rows6 := find_blocks(blocks, row6)
|
||||
// rows7 := find_blocks(blocks, row7)
|
||||
// rows8 := find_blocks(blocks, row8)
|
||||
// rows9 := find_blocks(blocks, row9)
|
||||
|
||||
fmt.Println("len(rows1):", len(rows1))
|
||||
// fmt.Println(rows1)
|
||||
|
||||
}
|
||||
|
||||
func find_blocks(blocks []int, row string) []int {
|
||||
// Declare selection
|
||||
var selection []int
|
||||
|
||||
fmt.Println(row)
|
||||
for letter := range row {
|
||||
fmt.Println("Letter", row[letter])
|
||||
//curr_number := row[letter]
|
||||
for block := range blocks {
|
||||
// fmt.Println(blocks[block])
|
||||
curr_row := strconv.Itoa(blocks[block])
|
||||
fmt.Println(curr_row[0])
|
||||
//if curr_number ==
|
||||
}
|
||||
}
|
||||
|
||||
// Return selection
|
||||
return selection
|
||||
}
|
||||
|
||||
func load_blocks() []int {
|
||||
var blocks []int
|
||||
|
||||
file, err := os.Open("blocks.csv")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
r := csv.NewReader(file)
|
||||
for {
|
||||
record, err := r.Read()
|
||||
if err == io.EOF {
|
||||
break
|
||||
}
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
block, _ := strconv.Atoi(record[0])
|
||||
blocks = append(blocks, block)
|
||||
}
|
||||
|
||||
return blocks
|
||||
}
|
||||
|
||||
func generate_blocks() []int {
|
||||
@ -46,29 +123,7 @@ func generate_blocks() []int {
|
||||
|
||||
}
|
||||
|
||||
// counter: 123456789
|
||||
// 1st Digit: 1 (49)
|
||||
// 2nd Digit: 2 (50)
|
||||
// 3rd Digit: 3 (51)
|
||||
// 4th Digit: 4 (52)
|
||||
// 5th Digit: 5 (53)
|
||||
// 6th Digit: 6 (54)
|
||||
// 7th Digit: 7 (55)
|
||||
// 8th Digit: 8 (56)
|
||||
// 9th Digit: 9 (57)
|
||||
|
||||
// 362880
|
||||
|
||||
// 1 2 3
|
||||
// 4 5 6
|
||||
// 7 8 9
|
||||
|
||||
// 1: 1 2 3 4 7
|
||||
// 2: 1 2 3 5 8
|
||||
// 3: 1 2 3 6 9
|
||||
// 4: 1 4 5 6 7
|
||||
// 5: 2 4 5 6 8
|
||||
// 6: 3 4 5 6 9
|
||||
// 7: 1 4 7 8 9
|
||||
// 8: 2 5 7 8 9
|
||||
// 9: 3 6 7 8 9
|
||||
func print_block(block int) {
|
||||
digits := strconv.Itoa(block)
|
||||
fmt.Printf("%c %c %c\n%c %c %c\n%c %c %c\n\n", digits[0], digits[1], digits[2], digits[3], digits[4], digits[5], digits[6], digits[7], digits[8])
|
||||
}
|
||||
|
42
notes.txt
Normal file
42
notes.txt
Normal file
@ -0,0 +1,42 @@
|
||||
Compat Matrix
|
||||
|
||||
1: 1 2 3 4 7
|
||||
2: 1 2 3 5 8
|
||||
3: 1 2 3 6 9
|
||||
4: 1 4 5 6 7
|
||||
5: 2 4 5 6 8
|
||||
6: 3 4 5 6 9
|
||||
7: 1 4 7 8 9
|
||||
8: 2 5 7 8 9
|
||||
9: 3 6 7 8 9
|
||||
|
||||
// counter: 123456789
|
||||
// 1st Digit: 1 (49)
|
||||
// 2nd Digit: 2 (50)
|
||||
// 3rd Digit: 3 (51)
|
||||
// 4th Digit: 4 (52)
|
||||
// 5th Digit: 5 (53)
|
||||
// 6th Digit: 6 (54)
|
||||
// 7th Digit: 7 (55)
|
||||
// 8th Digit: 8 (56)
|
||||
// 9th Digit: 9 (57)
|
||||
|
||||
// 362880
|
||||
|
||||
// blocks := generate_blocks()
|
||||
// fmt.Println(len(blocks))
|
||||
// print_block(blocks[0])
|
||||
// print_block(blocks[1])
|
||||
// for i := range blocks {
|
||||
// fmt.Println(blocks[i])
|
||||
// }
|
||||
|
||||
// block1 := 714365289
|
||||
// block2 := 365289714
|
||||
// block3 := 289714365
|
||||
// block4 := 173456892
|
||||
// block5 := 456893173
|
||||
// block6 := 892173546
|
||||
// block7 := 647531928
|
||||
// block8 := 531928647
|
||||
// block9 := 928647531
|
Loading…
x
Reference in New Issue
Block a user