You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
665 B
Go
37 lines
665 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"intcode/internal/interpreter"
|
|
"intcode/internal/parser"
|
|
)
|
|
|
|
func main() {
|
|
sourceProgram, err := parser.ParseFile(nil)
|
|
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
runProgram := make([]int, len(sourceProgram))
|
|
|
|
for x := 0; x < 100; x++ {
|
|
for y := 0; y < 100; y++ {
|
|
copy(runProgram, sourceProgram)
|
|
|
|
runProgram[1], runProgram[2] = x, y
|
|
|
|
interpreter := interpreter.Init(runProgram)
|
|
|
|
for !interpreter.Next() {}
|
|
|
|
if x == 12 && y == 2 {
|
|
fmt.Printf("Part 1: %v\n", runProgram[0])
|
|
}
|
|
if runProgram[0] == 19690720 {
|
|
fmt.Printf("Part 2: %02d%02d\n", x, y)
|
|
}
|
|
}
|
|
}
|
|
}
|