day11, part2
This commit is contained in:
parent
65d6c13016
commit
7032666476
|
@ -7,10 +7,10 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
func Run() int {
|
func Run() int64 {
|
||||||
fmt.Println("hello day 11")
|
fmt.Println("hello day 11")
|
||||||
|
|
||||||
filename := "day11/example"
|
filename := "day11/input"
|
||||||
bytes, err := os.ReadFile(filename)
|
bytes, err := os.ReadFile(filename)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(fmt.Sprint("cannot read file ", filename))
|
panic(fmt.Sprint("cannot read file ", filename))
|
||||||
|
@ -57,7 +57,7 @@ func Run() int {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var distanceSum int
|
var distanceSum int64
|
||||||
for i := 0; i < len(starCoords); i++ {
|
for i := 0; i < len(starCoords); i++ {
|
||||||
for j := i+1; j < len(starCoords); j++ {
|
for j := i+1; j < len(starCoords); j++ {
|
||||||
// calc distance between stars i and j
|
// calc distance between stars i and j
|
||||||
|
@ -71,9 +71,12 @@ func Run() int {
|
||||||
maxRow, minRow = minRow, maxRow
|
maxRow, minRow = minRow, maxRow
|
||||||
}
|
}
|
||||||
|
|
||||||
emptyRowsBetween := emptyRowsAbove[maxRow] - emptyRowsAbove[minRow]
|
var multiplier int64
|
||||||
|
multiplier = 1000000 - 1
|
||||||
|
|
||||||
rowDistance := maxRow - minRow + emptyRowsBetween
|
emptyRowsBetween := int64(emptyRowsAbove[maxRow]) - int64(emptyRowsAbove[minRow])
|
||||||
|
|
||||||
|
rowDistance := int64(maxRow) - int64(minRow) + emptyRowsBetween*multiplier
|
||||||
|
|
||||||
maxCol := starA.Col
|
maxCol := starA.Col
|
||||||
minCol := starB.Col
|
minCol := starB.Col
|
||||||
|
@ -81,13 +84,13 @@ func Run() int {
|
||||||
maxCol, minCol = minCol, maxCol
|
maxCol, minCol = minCol, maxCol
|
||||||
}
|
}
|
||||||
|
|
||||||
emptyColsBetween := emptyColsToTheLeft[maxCol] - emptyColsToTheLeft[minCol]
|
emptyColsBetween := int64(emptyColsToTheLeft[maxCol]) - int64(emptyColsToTheLeft[minCol])
|
||||||
|
|
||||||
colDistance := maxCol - minCol + emptyColsBetween
|
colDistance := int64(maxCol) - int64(minCol) + emptyColsBetween*multiplier
|
||||||
|
|
||||||
distance := rowDistance + colDistance
|
distance := rowDistance + colDistance
|
||||||
log.Printf("between stars %d %+v and %d %+v distance is %n\n", i, j, starA, starB, distance)
|
log.Printf("between stars %d %+v and %d %+v distance is %d. emptyColsBetween %d ; emptyRowsBetween %d\n", i, j, starA, starB, distance, emptyColsBetween, emptyRowsBetween)
|
||||||
distanceSum += distance
|
distanceSum += int64(distance)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,140 @@
|
||||||
|
........................#...............................................#................................#................................#.
|
||||||
|
....#..............#......................#............#....................................................................#...............
|
||||||
|
................................#.............................................................#.............................................
|
||||||
|
.........#.....................................#...................#........................................................................
|
||||||
|
....................................................#.......................#..............................#................................
|
||||||
|
..#................................................................................................#................#......................#
|
||||||
|
.........................................................#.........................#.....#..................................................
|
||||||
|
..................................#.............................#...............................................#.............#.............
|
||||||
|
.......#.....#...........................#..............................................................#.............................#.....
|
||||||
|
......................#...............................#................................................................#....................
|
||||||
|
............................#.................#........................#.....................................#..............................
|
||||||
|
....#.................................#...............................................#.....................................................
|
||||||
|
...............#...........................................................#............................................................#...
|
||||||
|
..................................#...........................................................#...................#...........#.............
|
||||||
|
....................................................................................................................................#.......
|
||||||
|
................................................................#................#..........................#...............................
|
||||||
|
...#..............#........#.........#.............#........................................................................................
|
||||||
|
.........................................................#.............#.............#..............#...................#...................
|
||||||
|
........#...................................................................................................................................
|
||||||
|
..............................................................................................#.................................#........#..
|
||||||
|
....................#.......................................#.....................................................#.........................
|
||||||
|
#..............................#.......#......#...................................#......#..................................................
|
||||||
|
...........#.......................................#......................................................................#.................
|
||||||
|
.......................................................................................................................................#....
|
||||||
|
............................................................................................................................................
|
||||||
|
.........................#...................................#...............................#..............................................
|
||||||
|
..................................#.......................................................................#.............#...................
|
||||||
|
.........................................#...........................#...............................#.........#..........................#.
|
||||||
|
............#......#............................................#...............................#...................................#.......
|
||||||
|
.............................#.....................................................#........................................................
|
||||||
|
....#........................................#...............................#.................................................#............
|
||||||
|
......................#............................#.....#.........#........................................................................
|
||||||
|
.........................................................................................................#..................................
|
||||||
|
.......#........................#................................................#..........................................................
|
||||||
|
...............................................#..........................#................#..........................................#.....
|
||||||
|
.#................#.............................................................................................#......#....................
|
||||||
|
..............................................................................................................................#.............
|
||||||
|
..........................#........................#.............................................#..........................................
|
||||||
|
.............#..........................#............................................#..............................#.......................
|
||||||
|
........#..............................................#.....................#..........................#..................#................
|
||||||
|
............................................................#.....#..................................................................#......
|
||||||
|
....................#.........................#..........................#..................#...................#...........................
|
||||||
|
..............................#...................................................#................#........................................
|
||||||
|
.........................................#..............................................#..................................................#
|
||||||
|
.#........#.........................................#.....................................................#.....................#...........
|
||||||
|
.........................................................#.........................................................#........................
|
||||||
|
......#...........................#.........................................................................................................
|
||||||
|
................................................#........................................................................................#..
|
||||||
|
...................................................................#...............#........................................................
|
||||||
|
.....................#................................#..............................................................................#......
|
||||||
|
...........#................................................................................#.....#.........................................
|
||||||
|
....#........................#............................................#..............................................#..................
|
||||||
|
................#.......#........................................................#........................................................#.
|
||||||
|
#...................................................................................................................#.......................
|
||||||
|
....................#...................#..............#.................................#...................#..............................
|
||||||
|
.............#....................#.................................................#..................#...................#................
|
||||||
|
.................................................................................................................#.....................#....
|
||||||
|
................................................................................#...........................................................
|
||||||
|
.......................#.............#....................#.................................................................................
|
||||||
|
.......#.............................................................................................#..............#.......................
|
||||||
|
...................#.....................................................................................................................#..
|
||||||
|
......................................................#..................#.......................................................#..........
|
||||||
|
..........................#..................................................................#..............................................
|
||||||
|
............#.................................#.........................................#...................#............#..................
|
||||||
|
.....................#......................................#......................................................#..........#.............
|
||||||
|
.#.........................................................................#......#...................#.....................................
|
||||||
|
............................................................................................................................................
|
||||||
|
................................#...........................................................#...............................................
|
||||||
|
........................................#..........................#..................................................#.................#...
|
||||||
|
....#........................................#.....................................................#.............................#..........
|
||||||
|
..........................................................#.................................................................................
|
||||||
|
...............#............................................................................................................................
|
||||||
|
..........#............#............................#.............................#...........................................#......#......
|
||||||
|
....................................#........................................................#...............#..............................
|
||||||
|
...........................................#..............................#...............................................................#.
|
||||||
|
.#...........................#.......................................................................#......................................
|
||||||
|
.........................................................#...........#....................................#.................................
|
||||||
|
......#.......#...................#...........................#.......................#.........#..................#........................
|
||||||
|
............................................................................#.........................................................#.....
|
||||||
|
.....................#.........................................................................................#........#...................
|
||||||
|
..........................#.............................................#................#........................................#.........
|
||||||
|
............................................................................................................................................
|
||||||
|
....#.....#.....#..................................#.........#.....................#....................#...................................
|
||||||
|
........................................#.....................................................................................#.............
|
||||||
|
...............................................................................................#............................................
|
||||||
|
.......#........................#...........................................#............................................................#..
|
||||||
|
....................#......#....................#...........................................................................................
|
||||||
|
.........................................................#...........#..........#.............................#...........#.................
|
||||||
|
......................................................................................#.....................................................
|
||||||
|
....................................................................................................#................#..........#.....#.....
|
||||||
|
............#.........#.....................#...............#..............................................#................................
|
||||||
|
.......#............................#.......................................................................................................
|
||||||
|
.......................................................................#......................#................#...................#........
|
||||||
|
............................................................................................................................................
|
||||||
|
........................................................................................................................#...................
|
||||||
|
..........#..........#.......................#.........................................................................................#....
|
||||||
|
...................................................................#.................#...........#..........................................
|
||||||
|
........................................#................#..................................................................................
|
||||||
|
................#....................................................................................................#......................
|
||||||
|
............................................................................................................................................
|
||||||
|
.......#....................#.................................................................#...............#.........................#...
|
||||||
|
.................................#...........#.....#...........................................................................#............
|
||||||
|
...........#.......................................................#....................#...................................................
|
||||||
|
........................................#...............................................................................#...................
|
||||||
|
............................................................................................................................................
|
||||||
|
.....................................................................................................#......................................
|
||||||
|
................#.........................................#..................#................................................#.......#.....
|
||||||
|
....#................................#.............#...................................#.....................#.......#......................
|
||||||
|
.........................#......................................#...........................................................................
|
||||||
|
...........................................................................................#.......#........................................
|
||||||
|
..........#.....................#..............#........................#...................................................................
|
||||||
|
..#.........................................................................................................................................
|
||||||
|
....................#.....................................#.......................#.........................................................
|
||||||
|
..........................#.............#...............................................................................#.........#.........
|
||||||
|
......................................................................................#.....................................................
|
||||||
|
.....................................................................#..........................#...........................................
|
||||||
|
.......#.........#...........................................................#.......................#........#............#............#...
|
||||||
|
........................#....................................#..............................................................................
|
||||||
|
.......................................#............................................#....................#.........................#........
|
||||||
|
..............................................#....................................................................#........................
|
||||||
|
..............#..................#.....................................#..........................#.........................................
|
||||||
|
..........................................#..........#..........................#...........................................................
|
||||||
|
.....#......................................................................................#................#..............................
|
||||||
|
.....................#................................................................#.......................................#.............
|
||||||
|
.....................................................................#......................................................................
|
||||||
|
...........#.....#............................#.....................................................................................#.......
|
||||||
|
................................#.....#..........................#........#..........................................#....................#.
|
||||||
|
...........................#.................................................................#........#.......#.............................
|
||||||
|
#...........................................................................................................................................
|
||||||
|
........#........................................#...................................#......................................................
|
||||||
|
.............................................................................................................................#..............
|
||||||
|
.................................#..............................#........................#.........#........#...............................
|
||||||
|
............#.....#..........................#.......................#....................................................................#.
|
||||||
|
........................#........................................................#..........................................................
|
||||||
|
............................................................#..............#......................................#.........................
|
||||||
|
...#........................................................................................#...............................................
|
||||||
|
...........................................................................................................#......................#.........
|
||||||
|
..........#.......................................................................................#.........................................
|
||||||
|
......................#................#............................................#.................................................#.....
|
||||||
|
...........................#.....................#........#...................................................#.............................
|
Loading…
Reference in New Issue