27 lines
398 B
Go
27 lines
398 B
Go
package main
|
|
|
|
import (
|
|
"aoc2022/day14/common"
|
|
"bufio"
|
|
"fmt"
|
|
"os"
|
|
)
|
|
|
|
func main() {
|
|
rockStructures := common.Parse(*bufio.NewScanner(os.Stdin))
|
|
tileMap := common.NewMap()
|
|
|
|
for _, rockStructure := range rockStructures {
|
|
tileMap.AddRockStructure(rockStructure)
|
|
}
|
|
tileMap.AddFloor()
|
|
|
|
units := 0
|
|
for !tileMap.IsSourceBlocked() {
|
|
tileMap.DropSand()
|
|
units++
|
|
}
|
|
|
|
fmt.Println(units)
|
|
}
|