musifter

AoC 2025 day 4 part 1 (dc)

Dec 4th, 2025 (edited)
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.89 KB | Source Code | 0 0
  1. # Command: tr '.@' '12' <input | dc -fdc-p1.dc
  2.  
  3. # line x y -> line x y
  4. [
  5.     _3R
  6.     r dF0* 3R d3R+      # roll=150*y+x x y line
  7.     d Sr 1 r:g          # push roll on r; grid(roll) = 1
  8.     3R
  9. ] s@
  10.  
  11. [1+] sP
  12.  
  13. 0 Sr                    # Register stack r sentinel
  14.  
  15. 2 ?                     # line y=2
  16. [
  17.     0 r                 # line x=0 y
  18.     [
  19.         A~              # chr line x y
  20.         2=@             # record @ (2); line x y
  21.         r1+r            # line x++ y
  22.         d0<X
  23.     ] dsXx *+
  24.  
  25.     1+                  # y++
  26.     ? z1<Y
  27. ] dsYx 0*
  28.  
  29. [ ;g 3R+r ] s+
  30.  
  31. Lr                      # roll part1
  32. [
  33.     0r                  # roll count part1
  34.     d F1+ l+x
  35.     d F0+ l+x
  36.     d E9+ l+x
  37.     d  1+ l+x
  38.     d  1- l+x
  39.     d E9- l+x
  40.     d F0- l+x
  41.       F1- ;g   +        # count part1
  42.  
  43.     4>P                 # part1++ if (count < 4)
  44.  
  45.     Lr d0<L
  46. ] dsLx
  47.  
  48. [Part 1: ]n 3Rp
Advertisement
Add Comment
Please, Sign In to add comment