musifter

AoC 2025 day 3 (dc)

Dec 3rd, 2025
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.21 KB | Source Code | 0 0
  1. # Command: dc -e$NUM_BATTERIES -fdc-p1.dc <input
  2.  
  3. sb                          # b = num batteries (passed in)
  4. [+q]sQ
  5.  
  6. 0 ?                         # bank sum
  7. [
  8.     # Initialize array
  9.     0Sa                     # clear array
  10.  
  11.     1                       # i = 1
  12.     [
  13.         d3R A~              # last bank i i
  14.         3R:a                # arr(i) = last; bank i
  15.         r1+ dlb!<L          # i++, loop until i == num
  16.     ] dsLx s.
  17.  
  18.     # Process bank, getting best batteries
  19.     [
  20.         A~                  # last_jolts rest sum
  21.  
  22.         lb                  # i=num jolts ...
  23.         [
  24.             d3R             # jolts i i
  25.             r;a d3Rd        # jolts jolts arr(i) arr(i) i
  26.             3R>Q            # quit if jolts<arr(i); jolts arr(i) i
  27.  
  28.             3R d3R r:a      # arr(i) = jolts; i jolts=old arr(i)
  29.  
  30.             1- d0<I
  31.         ] dsIx +s.
  32.  
  33.         d0<B
  34.     ] dsBx                  # 0 ans
  35.  
  36.     # Calculate total joltage in array
  37.     lb                      # i=num jolts sum
  38.     [
  39.         d;a 3RA*+           # jolts=10*jolts+arr(i) i sum
  40.         r1- d0<I
  41.     ] dsIx ++               # sum += jolts + 0 (as i=0)
  42.  
  43.     ? z1<M
  44. ] dsMx
  45.  
  46. p                           # print sum
Advertisement
Add Comment
Please, Sign In to add comment