Advent of Code 2021 day 24
12/24/2021, 5:00 AMDavid Whittaker
12/24/2021, 6:28 AMelizarov
12/24/2021, 7:32 AMilya.gorbunov
12/24/2021, 7:38 AMilya.gorbunov
12/24/2021, 8:14 AMPaul Woitaschek
12/24/2021, 9:20 AMnkiesel
12/24/2021, 9:59 AMephemient
12/24/2021, 10:21 AMnkiesel
12/24/2021, 10:47 AMelizarov
12/24/2021, 11:03 AMDan Fingal-Surma
12/24/2021, 11:04 AMDan Fingal-Surma
12/24/2021, 11:05 AMephemient
12/24/2021, 11:06 AMinp
lead to the same stateephemient
12/24/2021, 11:11 AMelizarov
12/24/2021, 11:14 AMephemient
12/24/2021, 11:15 AMDan Fingal-Surma
12/24/2021, 11:16 AMDan Fingal-Surma
12/24/2021, 11:16 AMDan Fingal-Surma
12/24/2021, 11:17 AMDan Fingal-Surma
12/24/2021, 11:39 AMDan Fingal-Surma
12/24/2021, 11:42 AMDan Fingal-Surma
12/24/2021, 11:55 AMDan Fingal-Surma
12/24/2021, 12:23 PMephemient
12/24/2021, 4:47 PMnkiesel
12/25/2021, 7:07 AMnkiesel
12/25/2021, 7:19 AMnkiesel
12/25/2021, 9:07 AMJakub Gwóźdź
12/25/2021, 8:50 PMz.toString(26).map { 'A' + it.digitToInt(26) }.joinToString("")
, but unfortunately, itās just random letters, even after rot13Kiet
12/27/2021, 1:09 AMJintin
12/29/2021, 12:57 AMphldavies
12/29/2021, 12:11 PMMichael Bƶiers
12/29/2021, 9:18 PMMichael Bƶiers
12/29/2021, 9:25 PM// I only know my input, so no idea whether this works for other users :-)
private val monadReductions = input.windowed(2).filter { it[0].startsWith("div z ") }.map {
if (it[0].endsWith(" 1")) null else it[1].substringAfterLast(" ").toInt()
}
private fun digitsToTry(data: List<Int>, r0: List<Int>) =
when (val offset = monadReductions[data.size]) {
null -> 1..9
else -> ((r0.last() % 26) + offset).let { if (it !in 1..9) emptyList() else listOf(it) }
}
So in these seven digits, we donāt need to try 1..9, but only (z % 26) + offset, where offset is a negative value (add x -n).Michael Bƶiers
12/29/2021, 9:33 PMphldavies
12/29/2021, 11:19 PMphldavies
12/29/2021, 11:19 PMephemient
12/30/2021, 1:29 AMephemient
12/30/2021, 1:31 AMphldavies
12/30/2021, 11:07 AMephemient
12/30/2021, 11:30 AMinp
instructions since that's where it's effective, and I'm clearing the target register as well to increase hit ratesphldavies
12/30/2021, 12:22 PMdata[(element.hashCode() * 31 + salt) % data.size] == element
)ephemient
12/30/2021, 12:32 PMephemient
12/30/2021, 12:33 PM.hashCode()
directlyephemient
12/30/2021, 12:50 PMphldavies
12/30/2021, 1:03 PMephemient
12/30/2021, 1:07 PMDan Fingal-Surma
12/30/2021, 10:55 PMephemient
12/31/2021, 3:03 AMephemient
12/31/2021, 5:49 PM