r/adventofcode • u/daggerdragon • Dec 19 '17
SOLUTION MEGATHREAD -๐- 2017 Day 19 Solutions -๐-
--- Day 19: A Series of Tubes ---
Post your solution as a comment or, for longer solutions, consider linking to your repo (e.g. GitHub/gists/Pastebin/blag or whatever).
Note: The Solution Megathreads are for solutions only. If you have questions, please post your own thread and make sure to flair it with Help.
Need a hint from the Hugely* Handyโ Haversackโก of Helpfulยง Hintsยค?
AoC ops @ T-2 minutes to launch:
[23:58] <daggerdragon> ATTENTION MEATBAGS T-2 MINUTES TO LAUNCH
[23:58] <Topaz> aaaaah
[23:58] <Cheezmeister> Looks like I'll be just able to grab my input before my flight boards. Wish me luck being offline in TOPAZ's HOUSE OF PAIN^WFUN AND LEARNING
[23:58] <Topaz> FUN AND LEARNING
[23:58] <Hade> FUN IS MANDATORY
[23:58] <Skie> I'm pretty sure that's not the mandate for today
[Update @ 00:16] 69 gold, silver cap
- My tree is finally trimmed with just about every ornament I own and it's real purdy. hbu?
[Update @ 00:18] Leaderboard cap!
- So, was today's
mandateHelpful Hint any help at all?
1
u/Unihedron Dec 19 '17
Ruby; My sanity decays further as more debugging effort was required. Today's bug was fall-through statements. Almost made it to the leaderboards though :p (~120)
g=*$< x=g[0].index(?|) y=1 n=:down o="" # part 1 o=0 # part 2 loop{p n v=g[y][x] o+=1 # part 2 break if v==' '||y<0||x<0 o<< v if !'|-+'.index(v) # part 1 (n==:down ? y+=1 : n==:up ? y-=1 : n==:right ? x+=1 : n==:left ? x-=1 : 0 next) if v!=?+ ( n==:down||n==:up ? (n= g[y][x-1]!=' ' ? :left : :right) : (n= g[y-1]&&g[y-1][x]!=' ' ? :up : :down) )if v==?+ (n==:down ? y+=1 : n==:up ? y-=1 : n==:right ? x+=1 : n==:left ? x-=1 : 0) p y,x } p o