summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-12-17Allow variable time until eruptionAdam Spragg
2022-12-17Solve puzzle 16 part 1Adam Spragg
That was a tough one. Still takes 2.5s on my hardware. Should be able to multithread the permuation search at some point, if I want to.
2022-12-16Input for puzzle 16Adam Spragg
2022-12-15Solve puzzle 15 part 2Adam Spragg
2022-12-15Solve puzzle 15 part 1Adam Spragg
2022-12-15Input for puzzle 15Adam Spragg
2022-12-14Solve puzzle 14 part 2Adam Spragg
2022-12-14Solve puzzle 14 part 1Adam Spragg
2022-12-14Input for puzzle 14Adam Spragg
2022-12-14Compare the lists of each node, not each node.Adam Spragg
Because we're storing the input lists *as a list*, when we compare successive pairs of lists, we can't compare the list nodes themselves. Instead, we compare the lists they point to. Unfortunately, this doesn't change the answer we get. It does improve runtime though!
2022-12-13First attempt at puzzle 13 part 1 (buggy)Adam Spragg
Gets correct answer for test input, but wrong answer (5711) for main input. The problem is, I don't know where it's going wrong, and the inputs are complicated, so tracking down the source of the problem is going to be a major pain. Wish I hadn't put this off for most of the day, and had more time to look at it now.
2022-12-13Input for puzzle 13Adam Spragg
2022-12-12Solve puzzle 12 part 2Adam Spragg
2022-12-12Reverse direction of searchAdam Spragg
2022-12-12Don't infinite loop if we never reach the end pointAdam Spragg
2022-12-12Solve puzzle 12 part 1Adam Spragg
2022-12-12Input for puzzle 12Adam Spragg
2022-12-11Solve puzzle 11 part 2Adam Spragg
The trick is that we don't care about how much worry there is, we only care how much worry modulo the test divisor, to figure out which monkey gets the item next. Now, I know that addition is stable under modulo arithmetic, but I seem to remember that multiplication is stable under modulo arithmetic also? (I think public key cryptography relies on this?) So, by only keeping track of our worry, modulo the product of all the test divisors, everything should still work correctly? At least, that's what I tried, and it stopped all the overflow, and I seemed to get the right numbers according to the expected test results, and my final answer was also accepted. So I guess it does work correctly!
2022-12-11Count the number of inspections as a longAdam Spragg
2022-12-11First attempt at puzzle 11 part 2 (buggy)Adam Spragg
Turned item worry levels to unsigned long in an attempt to not overflow. Added checks for overflow, and they get hit - quickly - without the calming factor. Will need to think about this. (or try bignums)
2022-12-11Solve puzzle 11 part 1Adam Spragg
2022-12-11Input for puzzle 11Adam Spragg
2022-12-10Solve puzzle 10 part 2Adam Spragg
2022-12-10Solve puzzle 10 part 1Adam Spragg
2022-12-10Input for puzzle 10Adam Spragg
2022-12-09Solve puzzle 9 part 2Adam Spragg
Needed to switch to moving the head one step at a time and recalcating the rest of the rope on each iteration, or the numbers came out wrong.
2022-12-09Cleanup puzzle 9 part 1Adam Spragg
Now that we fixed the bug, get rid of debug output.
2022-12-09Solve puzzle 9 part 1Adam Spragg
I wasn't creating a new tail element after inserting the first tail, so when we revisited the origin the second time it didn't spot it as a dupe, giving an off-by-one error (The test input didn't have the tail pass the origin twice, so this wasn't an issue there)
2022-12-09First attempt at puzzle 9 part 1 (buggy)Adam Spragg
Apparently the answer it gets for the full input (5736) is wrong. The answer for the test input (13) is right though. Added a bunch of debugging logic, to try and see *where* it's going wrong, but I can't see it so far. This one is interesting.
2022-12-09Ignore .test filesAdam Spragg
Allows me to save the test input as a .test file without getting nagged by git.
2022-12-09Input for puzzle 9Adam Spragg
2022-12-08Solve puzzle 8 part 2Adam Spragg
2022-12-08Solve puzzle 8 part 1Adam Spragg
2022-12-08Input for puzzle 8Adam Spragg
2022-12-07Solve puzzle 7 part 2Adam Spragg
2022-12-07Solve puzzle 7 part 1Adam Spragg
2022-12-07Remove trailing empty lineAdam Spragg
2022-12-07Input for puzzle 7Adam Spragg
2022-12-06Solve puzzle 6 part 2Adam Spragg
2022-12-06Solve puzzle 6 part 1Adam Spragg
2022-12-06Input for puzzle 6Adam Spragg
2022-12-06Create the bin/ directory if it doesn't existAdam Spragg
2022-12-05Only compile in code if it's used, and free memory when doneAdam Spragg
2022-12-05Add support for CrateMover9001, to solve part 2Adam Spragg
2022-12-05Complete puzzle 5aAdam Spragg
2022-12-05Input for day 5Adam Spragg
2022-12-04Advent of code 2022 problems 1-4Adam Spragg