added visualization for day 11 puzzle 1

This commit is contained in:
Louis Heredero 2024-12-11 18:26:44 +01:00
parent 2d0001ec12
commit a6edde9139
Signed by: HEL
GPG Key ID: 8D83DE470F8544E7
2 changed files with 25 additions and 1 deletions

View File

@ -1,4 +1,6 @@
#import "/src/utils.typ": * #import "/src/utils.typ": *
#import "@preview/cetz:0.3.1": canvas
#import "@preview/cetz-plot:0.1.0": plot
#let process(rock) = { #let process(rock) = {
if rock == 0 { if rock == 0 {
@ -33,8 +35,30 @@
return rocks.len() return rocks.len()
} }
#let visualize(input) = {
let rocks = input.split(" ").map(int)
let values = (rocks.len(),)
for _ in range(25) {
rocks = blink(rocks)
values.push(rocks.len())
}
canvas({
plot.plot(
{
plot.add(range(26).zip(values))
},
size: (6,6),
x-tick-step: 5,
y-tick-step: 10000,
x-label: "Blinks",
y-label: "Rocks"
)
})
}
#show-puzzle( #show-puzzle(
11, 1, 11, 1,
solve, solve,
example: 55312 example: 55312,
visualize: visualize
) )

Binary file not shown.