adventofcode

2025-12-11T05:48:01.104979Z

Day 11 - Solutions

jurjanpaul 2025-12-18T21:51:55.034529Z

Still not happy with my day 10 solution 🙂, so after a week it was nice to be able to finish day 11 quickly enough, without bothering about further optimisations or micro refactorings. https://jurjanpaul.github.io/ape-cljs-playground/?code=KHJlcXVpcmUgJ1tjbG9qdXJlLnNldCA6YXMgY3NldF0pCgooZGVmIGlucHV0CiAgOzsgdG8gYmUgcmVwbGFjZWQgd2l0aCByZWFsIGlucHV0CiAgImFhYTogeW91IGhoaAp5b3U6IGJiYiBjY2MKYmJiOiBkZGQgZWVlCmNjYzogZGRkIGVlZSBmZmYKZGRkOiBnZ2cKZWVlOiBvdXQKZmZmOiBvdXQKZ2dnOiBvdXQKaGhoOiBjY2MgZmZmIGlpaQppaWk6IG91dCIpCgooZGVmIGlucHV0CiAgOzsgdG8gYmUgcmVwbGFjZWQpCiAgInN2cjogYWFhIGJiYgphYWE6IGZmdApmZnQ6IGNjYwpiYmI6IHR0eQp0dHk6IGNjYwpjY2M6IGRkZCBlZWUKZGRkOiBodWIKaHViOiBmZmYKZWVlOiBkYWMKZGFjOiBmZmYKZmZmOiBnZ2cgaGhoCmdnZzogb3V0CmhoaDogb3V0IikKCihkZWZuIHBhcnNlCiAgW2lucHV0XQogICgtPj4gKHN0cmluZy9zcGxpdC1saW5lcyBpbnB1dCkKICAgICAgIChtYXAgIyhsZXQgW1tkZXZpY2Ugb3V0cHV0c10gKHN0cmluZy9zcGxpdCAlICMiOlxzIildCiAgICAgICAgICAgICAgIFtkZXZpY2UKICAgICAgICAgICAgICAgIChzdHJpbmcvc3BsaXQgb3V0cHV0cyAjIlxzIildKSkKICAgICAgIChpbnRvIHt9KSkpCgooZGVmIHBhcnNlZAogIChwYXJzZSBpbnB1dCkpCgooZGVmbiBwYXRocwogIFtncmFwaCBzdGFydF0KICAoaWYgKD0gIm91dCIgc3RhcnQpCiAgICBbWyJvdXQiXV0KICAgIChtYXBjYXQgKGZuIFtvdXRdCiAgICAgICAgICAgICAgKG1hcCAjKGNvbmogJSBzdGFydCkKICAgICAgICAgICAgICAgICAgIChwYXRocyBncmFwaCBvdXQpKSkKICAgICAgICAgICAgKGdyYXBoIHN0YXJ0KSkpKQoKKGRlZm4gcGFydDEgW10KICAoLT4%2BIChwYXRocyBwYXJzZWQgInlvdSIpCiAgICAgICBjb3VudCkpCiAKKHByaW50bG4gInBhcnQxOiIgKHBhcnQxKSkKCihkZWZuIHBhdGhzMgogIFtncmFwaCBzdGFydF0KICAoaWYgKD0gIm91dCIgc3RhcnQpCiAgICB7Om51bWJlciAxCiAgICAgOm51bWJlci13LWRhYyAwCiAgICAgOm51bWJlci13LWZmdCAwCiAgICAgOm51bWJlci13LWJvdGggMH0KICAgICgtPj4gKGZvciBbb3V0IChncmFwaCBzdGFydCkKICAgICAgICAgICAgICAgOmxldCBbezprZXlzIFt2aXNpdGVkIG51bWJlciBudW1iZXItdy1kYWMgbnVtYmVyLXctZmZ0IG51bWJlci13LWJvdGhdfQogICAgICAgICAgICAgICAgICAgICAocGF0aHMyIGdyYXBoIG91dCldXQogICAgICAgICAgIHs6bnVtYmVyIG51bWJlcgogICAgICAgICAgICA6bnVtYmVyLXctZGFjIChpZiAoPSAiZGFjIiBzdGFydCkgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW1iZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlci13LWRhYykKICAgICAgICAgICAgOm51bWJlci13LWZmdCAoaWYgKD0gImZmdCIgc3RhcnQpIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW1iZXItdy1mZnQpCiAgICAgICAgICAgIDpudW1iZXItdy1ib3RoIChjb25kIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICg9ICJkYWMiIHN0YXJ0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlci13LWZmdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICg9ICJmZnQiIHN0YXJ0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlci13LWRhYwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDplbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyLXctYm90aCl9KQogICAgICAgICAoYXBwbHkgbWVyZ2Utd2l0aCArKSkpKQooZGVmIHBhdGhzMgogIChtZW1vaXplIHBhdGhzMikpCgooZGVmbiBwYXJ0MiBbXQogICgtPj4gKHBhdGhzMiBwYXJzZWQgInN2ciIpCiAgICAgICA6bnVtYmVyLXctYm90aCkpCgoocHJpbnRsbiAicGFydDI6IiAocGFydDIpKQo%3D&checksum=ODQwODM3MzA4

rjray 2025-12-11T16:08:57.678539Z

Well, I left it running all night and still didn't have an answer after 8 hours+. I must be missing something obvious.

narimiran 2025-12-11T17:48:26.657389Z

Day 11 notebook: https://narimiran.github.io/aoc2025/src/day11/ A much easier one than the last two days.

💯 2
rjray 2025-12-11T18:15:01.475209Z

OK, here's my day 11: https://github.com/rjray/advent-2025-clojure/blob/master/src/advent_of_code/day11.clj Big thanks to @narimiran for some help-- I thought the algorithm was wonky, but it turns out that I wasn't actually getting any benefit from the use of memoize due to how I was calling things. Fixed that and part 2 finished in ~17ms.

🍻 2
2025-12-11T18:30:35.292899Z

@rjray Same - I ended up using a global graph to get around it to solve the problem but then read @narimiran's writeup and fixed mine!

minikomi 2025-12-12T02:16:56.608729Z

That was fun! Good difficulty scaling today unlike yesterday lolcry Part 1 reached for good ol' https://github.com/minikomi/advent-of-code/blob/42654b8719ab0134b728e20c778e765c449f3e04/2025/src/day11.clj#L36-L49and was fine, part 2 blew that approach way out of the water so had to think back from leaves and how to skip branches ...

rjray 2025-12-11T07:29:36.695429Z

Dammit, I have part 1 but part 2 was taking too long. Rewrote it with memoize and it's STILL taking too long. Gonna sleep on this.

narimiran 2025-12-11T07:43:57.720439Z

@rjray memoize it the way to go. But you also need to do <redacted, way too spoilerish> and then it is instant.