feat: solve day 8 part 1...twice

This commit is contained in:
Stevan Freeborn
2025-12-16 13:20:29 -06:00
parent f6d1aed872
commit 1bfa196f21
11 changed files with 652 additions and 1 deletions
+36
View File
@@ -0,0 +1,36 @@
// Package connection provides a model and methods for connections between junction boxes.
package connection
import "github.com/StevanFreeborn/advent-of-code-2025/cmd/08/box"
type Connection interface {
Start() box.Box
End() box.Box
Distance() float64
}
type connection struct {
start box.Box
end box.Box
distance float64
}
func (c connection) Start() box.Box {
return c.start
}
func (c connection) End() box.Box {
return c.end
}
func (c connection) Distance() float64 {
return c.distance
}
func From(start box.Box, end box.Box) Connection {
return connection{
start: start,
end: end,
distance: start.DistanceFrom(end),
}
}