36 lines
		
	
	
		
			610 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			610 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package solver
 | |
| 
 | |
| import (
 | |
| 	"sync/atomic"
 | |
| )
 | |
| 
 | |
| // Struct/Interface containing all the important variabes it functions need access to.
 | |
| type Solver struct {
 | |
| 	blocks    []int
 | |
| 	Row1      string
 | |
| 	Row2      string
 | |
| 	Row3      string
 | |
| 	Row4      string
 | |
| 	Row5      string
 | |
| 	Row6      string
 | |
| 	Row7      string
 | |
| 	Row8      string
 | |
| 	Row9      string
 | |
| 	row1s     []int
 | |
| 	row2s     []int
 | |
| 	row3s     []int
 | |
| 	row4s     []int
 | |
| 	row5s     []int
 | |
| 	row6s     []int
 | |
| 	row7s     []int
 | |
| 	row8s     []int
 | |
| 	row9s     []int
 | |
| 	Iter      int64
 | |
| 	counter   atomic.Int64
 | |
| 	solutions []string
 | |
| 	rates     []int64
 | |
| 	NumCPUs   int
 | |
| 	Split     int
 | |
| 	Part      int
 | |
| }
 |