Add Day 12 solution (ft. an unused DLX library)

Turns out two simple heuristics solve the whole problem in 4ms:
1. Does the area fit? No → invalid
2. Are there enough 3x3 spaces for all presents? Yes → valid

But hey, at least we learned how to use Dancing Links for
a problem that didn't need it. The dlx crate thanks us for
the download stats.
This commit is contained in:
Russell Champoux committed 2026-01-05 16:13:55 -05:00
1 parent ac4208f893
commit d8a67cf515
4 files changed
+378

No files matched your search

Generated
+17
View File
@@ -23,6 +23,7 @@ version = "0.12.0"
dependencies = [
"chrono",
"dhat",
"dlx",
"itertools",
"pico-args",
"rayon",
@@ -45,6 +46,12 @@ dependencies = [
"libc",
]
[[package]]
name = "anyhow"
version = "1.0.100"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61"
[[package]]
name = "autocfg"
version = "1.1.0"
@@ -154,6 +161,16 @@ dependencies = [
"thousands",
]
[[package]]
name = "dlx"
version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52b53f18c5d4079f2e73765df0516f171cc4d7291a3fdc3a5cbb815178255c1a"
dependencies = [
"anyhow",
"num-traits",
]
[[package]]
name = "either"
version = "1.15.0"