ACT NOW: The Alteryx team will be retiring support for Community account recovery and Community email-change requests Early 2026. Make sure to check your account preferences in my.alteryx.com to make sure you have filled out your security questions. Learn more here
Start Free Trial

General Discussions

Discuss any topics that are not product-specific here.

Advent of Code 2025 Day 11 (BaseA Style)

AlteryxCommunityTeam
Alteryx Community Team
Alteryx Community Team

Discussion thread for day 11 of the Advent of Code - https://adventofcode.com/2025/day/11

17 REPLIES 17
ScottLewis
11 - Bolide

Feel a lot better about that one after yesterday.

 

Part 1 was straightforward. Trace the path. I expected a twist in the real data. In particular, I was on the lookout for loops but there really didn’t seem to be anything.

 

Part2 was the familiar "now do it with too much data."

 

Spoiler

The secret here is pruning and merging. You have to track whether you’ve visited dac and/or fft but once you allow for those two paths that get to the same place don’t have to be tracked separately, they can just be tracked as one path that counts double. Merging paths that reach the same point takes the execution from functionally infinite to seconds.

Final, Macro pasted into primary for picture

 

Spoiler
Day11 2025 Scott Lewis.png
CoG
14 - Magnetar

Slightly different approach to the problem from @ScottLewis, but same general insights:

 

 

Spoiler
Same macro works for both Parts 1 and 2, although I built a different macro for P1 initially that exploded on Part 2. Quickly realized that compression was essential, then crossed my fingers and hoped that loops/cycles were not a feature of this problem (they are not).

The insight lies in the fact that even though it asks you to count all trajectories, you do not need to maintain all paths in memory. If you want to know how many was to get from A - Z, and in the process of taking steps discover that there are 6 ways to get from A - C, I don't care how I got there, I can now reset the problem and count the number of solutions from C - Z and multiply that by 6 for the final total. 

Applied to this problem, just keep track of how many ways you've reached a given device at a certain iteration, allowing you to summarize, adding up all the different ways available to you to reach that device. greatly limiting the number of records that you are iterating on.

Screenshot.png
I managed to figure out that svr first connects to fft then to dac then to out. I could thus partition the problem in three ways for part 2. How many ways from svr - fft, how many from fft - dac, and finally, how many was from dac - out. The product of those 3 values gives you the final answer, since the trajectories along each path are independent.

Macro:
Screenshot_Macro.png

Happy Solving, y'all! Now back to Day 10 for me :/

 

 

gawa
16 - Nebula
16 - Nebula

One day to go.

Spoiler
gawa_0-1765432509275.png

My WF is configured based on 'what I already know' about dataset that all path follow svr=>...=>fft=>...=>dac....=>out
You don't need memorize all path but summarize them by the current node and sum up the number of path in each iteration. 

Hub119
12 - Quasar
12 - Quasar

Nice and simple one today... assuming you know how to optimize part 2...

Spoiler
AoC 2025 D11 Pic.png
Spoiler
P1 MacroP1 Macro
Spoiler
The key here is how we restructure the data flowing through our macro and limiting records with that summarize tool to sum paths to the given location, also grouping by the current status of whether or not we have visited the 2 key nodes.
P2 MacroP2 Macro
DaisukeTsuchiya
14 - Magnetar
14 - Magnetar

Today's problem seemed like one where the data volume would explode, so I designed my workflow to avoid that, and I got the answer on the first try.

Spoiler
For Part 1, I prevented the record count from increasing by grouping the data. For Part 2, I initially considered calculating two separate path types: 1) svr -> fft, fft -> dac, dac -> out, and 2) svr -> dac, dac -> fft, fft -> out, and then multiplying their results. However, since there were no routes passing through dac -> fft, I only needed to calculate the first type (1). I took a shortcut for the iterative macro part by copying and using versions where the goals were out, fft, and dac respectively. I believe it could be made much simpler with a more elegant design. The processing time was less than 1 second.

スクリーンショット 2025-12-11 151215.jpgスクリーンショット 2025-12-11 151232.jpg

 

Tokimatsu
12 - Quasar

Solved, I will be back to Day10.

Spoiler
Today's key tool is summarize.

スクリーンショット 2025-12-11 153559.png

スクリーンショット 2025-12-11 153647.png

 

AkimasaKajitani
17 - Castor
17 - Castor

It was easier than when I thought at first.

 

Spoiler
7ecc4219-264f-4bcf-8ec5-d9d0a4e98e2b.png

Part 1  macro:
AkimasaKajitani_0-1765435764169.png

Part 2 macro:

AkimasaKajitani_1-1765435800947.png

 




Vizualization:

Spoiler
svr:
Clipboard01.png

fft: 

Clipboard02.png

dac:
Clipboard03.png



out:
Clipboard04.png

Goddenra
8 - Asteroid

Maybe this one suited me but it's probably the quickest I've completed any challenge this year.

Spoiler
Goddenra_3-1765438951228.png

 



Part1: Starting with "you", simply find the next move, iterate, until you find "out". Initially failed to read the question and realise we only cared about starting with you and accidentally got the right answer for the test data by summarising into unique ending combinations. 

Goddenra_1-1765438459196.png


Part 2: Very similar approach, but with different starting and end point (SVR and OUT), and need to keep track if you meet two other points along the way in any order (DAC and FFT). This was the part designed to catch you out as it quickly balloons into loads of common points, so I added a counter to keep track of how many I had. Ran pretty much instantaneously for the data set.

Goddenra_2-1765438543400.png

 



mmontgomery
11 - Bolide
11 - Bolide

Day 11

Spoiler
P1 was rather straight forward brute force with pathing start to output until end
P2 required counting and only doing path when using fft and/or dac. If you did path for each one, it would time out the macroDay11_I_Macro_P2.jpgDay11_I_Macro_P1.jpgDay11.jpg
Labels
Top Solution Authors