Fork me on GitHub

I havent had time to do day 14 and day 15 is coming


I just looked at Day 15. It feels like CS homework. “Implement an A* algorithm.” Not really fun


yeah I don’t think I have time in my life to do this one :man-tipping-hand:


reminds me of a competition but less fun


I think it’s a fun problem, but there’s really too much going on here to finish quickly. I’m 2 hours in and I’m not quite getting the move selection right. I think I need finish in the morning.


It would have been more fun if the explanation was less explicit and the actual algorithm a bit more easy. Still it's doable, so I'll will.


Just looked at the times for the first 100 to get it right, around 15 minutes for almost any day, but today over 2 hours


My brain is fried. I have a solution but it works really slow for bigger dungeons. I suspect one line of code to be the culprit for making it so slow. Does anyone have the time to check this with me?


(filter (sets/union free enemies)) This is the line of code I suspect will cause trouble for large sets “free”. “enemies” is usually small.


oh. and sets is (:require [clojure.set :as sets])

Ben Grabow16:12:31

I tried out tufte yesterday and it seems easy to use out of the box for profiling. Wrap the code you want to profile in the p macro and you should be able to see what's hogging the most time.


wow, it's almost 10 hours after the game and then only 835 people solved it completely, compared to the thousands from yesterday 😄


it's a PITA problem 😄


I just got the first part, almost the second but have to go, was the first time I was one of the first thousand to solve the first


And with all that state very happy to do it with java..


I've been doing it for about 4 hours, still bug fixing part 1. Grrr.


i finally finished day 15 and it's pretty rough and slow, but I'm definitly not eager to touch it any further...


Wow. I might save day 15 for some other day. WTF.


Opened up laptop last night, read day 15, closed laptop.

☝️ 4
😁 4

That problem will likely cost $1000 to solve, in terms of time. You could buy a new laptop.


meanwhile stuck on part 2 of day 13, I’ve looked at this over and over and can’t find the bug… any help would be appreciated!

Ben Grabow23:12:46

Line 66, :locs should be :loc. If you have any collisions that should happen on the first tick they'll get missed. I don't see anything else obviously wrong, so hopefully that's it.


you have GOT to be kidding me… i looked for hours and missed that


that was it.

Ben Grabow00:12:48

When I'm debugging these problems, especially with a loop, I'll do a println of each loop parameter and run through the first ~5 iterations manually checking that everything looks right. Usually I'll use the small sample data set from the problem description too. Would have caught this typo.

Ben Grabow00:12:04

Glad I could help you fix it!


Thanks for the help … yeah belive it or not i did do several runs with the sample input


i had helper functions not shown in the gist for printing the track


but no collisions happened on the first tick so I didn’t notice

Ben Grabow00:12:27

I mean print c, cs, full? and new-cars inside your loop, to ensure you got the mechanics of the loop correct. Often mistakes will not manifest obviously in the intended output, but if you look directly at the internal implementation the problem will be more obvious.


yeah fair point … printing full? i would have noticed the nil at the start


i was focusing on printing all the wrong things


thanks for the help, who knows how long i would have stared at that aimlessly

🎅 4

Day 15 reminds me of day 11 from 2016 IIRC - the elevator problem


that and the molecules for 2015 were just a beating