Advent of Code 2021 day 18
12/18/2022, 5:00 AMSergei Petunin
12/18/2022, 5:38 AMCognitive Gear
12/18/2022, 6:02 AMDan Fingal-Surma
12/18/2022, 6:41 AMephemient
12/18/2022, 6:44 AMritesh
12/18/2022, 6:44 AMSergei Petunin
12/18/2022, 6:44 AMephemient
12/18/2022, 6:44 AMephemient
12/18/2022, 6:45 AMy
instead of replacing it with z
when computing `minZ`/`maxZ` though, that really suckednkiesel
12/18/2022, 7:00 AMJonathan Kolberg
12/18/2022, 7:30 AMJonathan Kolberg
12/18/2022, 7:32 AMDan Fingal-Surma
12/18/2022, 8:12 AMDan Fingal-Surma
12/18/2022, 8:12 AMDan Fingal-Surma
12/18/2022, 8:13 AMDan Fingal-Surma
12/18/2022, 8:24 AMval airCache = mutableMapOf<Point, Boolean>()
fun Point.isAir(): Boolean {
airCache[this]?.let { return it }
val frontier = ArrayDeque<Point>(listOf(this))
val visited = mutableSetOf<Point>()
while (!frontier.isEmpty()) {
val current = frontier.removeFirst()
when {
!visited.add(current) -> continue
current in airCache -> return addToCache(visited, airCache.getValue(current))
current.outsideRange() -> return addToCache(visited, false)
else -> frontier.addAll(current.adjacentNonLava())
}
}
return addToCache(visited, true)
}
phldavies
12/18/2022, 12:27 PMyear 2022 day 18 part 1
Default took 1.185278ms: 3396
year 2022 day 18 part 2
Default took 4.743437ms: 2044
Jonathan Kolberg
12/18/2022, 2:16 PMAlex LO
12/18/2022, 2:43 PMphldavies
12/18/2022, 2:50 PMAlex LO
12/18/2022, 2:50 PMkenkyee
12/18/2022, 9:18 PMphldavies
12/18/2022, 9:21 PMDan Fingal-Surma
12/19/2022, 1:50 AMDan Fingal-Surma
12/19/2022, 1:54 AMPaul Woitaschek
12/20/2022, 10:04 PMephemient
12/20/2022, 10:08 PMfun parseInput(input: String): Set<Cube> = buildSet { input.lines().filter(String::isNotEmpty).mapTo(this, Cube::parse) }
Ozioma Ogbe
12/30/2022, 3:14 AMphldavies
12/30/2022, 11:08 AMephemient
12/30/2022, 3:19 PM1,2,2
2,1,2
2,2,1
2,2,3
2,3,2
3,2,2
to make an air pocket at 2,2,2