Skip to content

Commit ae2b07c

Browse files
author
Teiva Harsanyi
committed
v1
1 parent ca5609b commit ae2b07c

File tree

2 files changed

+11
-26
lines changed

2 files changed

+11
-26
lines changed

Diff for: 2018/day17-go/main.go

+7-22
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ func fs1(input io.Reader) int {
1818
}
1919

2020
const minRow = 0
21+
minY := math.MaxInt
2122
minCol := math.MaxInt
2223
maxCol := math.MinInt
2324
maxRow := 0
@@ -31,8 +32,10 @@ func fs1(input io.Reader) int {
3132
}
3233

3334
if scan.rangeRow == nil {
35+
minY = lib.Min(minY, scan.row)
3436
maxRow = lib.Max(maxRow, scan.row)
3537
} else {
38+
minY = lib.Min(minY, scan.rangeRow.from)
3639
maxRow = lib.Max(maxRow, scan.rangeRow.to)
3740
}
3841
}
@@ -41,10 +44,7 @@ func fs1(input io.Reader) int {
4144

4245
grid.dfs(Position{0, 500})
4346

44-
fmt.Println(grid)
45-
//fmt.Println(grid.Visited())
46-
//fmt.Println(grid.visited[Position{11, 500}])
47-
return grid.sumWater() - 1 // spring
47+
return grid.sumWater(minY)
4848
}
4949

5050
type Grid struct {
@@ -68,10 +68,10 @@ func (p Position) delta(row, col int) Position {
6868
return p
6969
}
7070

71-
func (g *Grid) sumWater() int {
71+
func (g *Grid) sumWater(row int) int {
7272
sum := 0
73-
for _, row := range g.board {
74-
for _, v := range row {
73+
for ; row < len(g.board); row++ {
74+
for _, v := range g.board[row] {
7575
if v == water {
7676
sum++
7777
}
@@ -195,21 +195,6 @@ func (g *Grid) String() string {
195195
return s
196196
}
197197

198-
//func (g *Grid) Visited() string {
199-
// s := ""
200-
// for r, row := range g.board {
201-
// for c := range row {
202-
// if g.visited[Position{r + g.minRow, c + g.minCol}] {
203-
// s += "X"
204-
// } else {
205-
// s += "."
206-
// }
207-
// }
208-
// s += "\n"
209-
// }
210-
// return s
211-
//}
212-
213198
type UnitType int
214199

215200
const (

Diff for: 2018/day17-go/main_test.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ import (
1111
func TestFs1Unit(t *testing.T) {
1212
f, err := os.Open("unit.txt")
1313
require.NoError(t, err)
14-
assert.Equal(t, 36, fs1(f))
14+
assert.Equal(t, 28, fs1(f))
1515
}
1616

1717
func TestFs1Unit2(t *testing.T) {
1818
f, err := os.Open("unit2.txt")
1919
require.NoError(t, err)
20-
assert.Equal(t, 76, fs1(f))
20+
assert.Equal(t, 55, fs1(f))
2121
}
2222

2323
func TestFs1Test(t *testing.T) {
@@ -29,13 +29,13 @@ func TestFs1Test(t *testing.T) {
2929
func TestFs1Input(t *testing.T) {
3030
f, err := os.Open("input.txt")
3131
require.NoError(t, err)
32-
assert.Equal(t, 31476, fs1(f))
32+
assert.Equal(t, 31471, fs1(f))
3333
}
3434

3535
func TestFs2Test(t *testing.T) {
3636
f, err := os.Open("test.txt")
3737
require.NoError(t, err)
38-
assert.Equal(t, 42, fs2(f))
38+
assert.Equal(t, 29, fs2(f))
3939
}
4040

4141
func TestFs2Input(t *testing.T) {

0 commit comments

Comments
 (0)