Day24Common

class Day24Common(lines: List<String>) : Day24Impl

Types

ALU
Link copied to clipboard
private data class ALU(w: Int, x: Int, y: Int, z: Int)
Instruction
Link copied to clipboard
private sealed class Instruction
Op
Link copied to clipboard
private enum Op : Enum<Day24Common.Op>
Provider
Link copied to clipboard
class Provider : Day24Impl.Provider<Day24Common>
State
Link copied to clipboard
internal data class State(index: Int, w: Int, x: Int, y: Int, z: Int)

Functions

part1
Link copied to clipboard
open override fun part1(): Long?
part2
Link copied to clipboard
open override fun part2(): Long?
solve
Link copied to clipboard
private fun solve(range: IntProgression, alu: Day24Common.ALU = initialAlu.copy(), index: Int = 0, prefix: Long = 0, visited: MutableSet<in Day24Common.State> = CacheSet(0x1000000)): Long?

Properties

groups
Link copied to clipboard
private val groups: List<Pair<KMutableProperty1<Day24Common.ALU, Int>, List<Day24Common.Instruction>>>
initialAlu
Link copied to clipboard
private val initialAlu: Day24Common.ALU
lines
Link copied to clipboard
private val lines: List<String>