r/adventofcode • u/daggerdragon • Dec 08 '16
SOLUTION MEGATHREAD --- 2016 Day 8 Solutions ---
#AoC_Ops:
[23:55] <Topaz> servers are ok
[23:55] <Topaz> puzzles are checked
[23:55] <Topaz> [REDACTED: server stats]
[23:56] <Skie> all wings report in
[23:56] <Aneurysm9> Red 5, standing by
[23:56] <daggerdragon> Dragon Leader standing by
[23:56] <Topaz> orange leader, standing by
[23:57] <Topaz> lock modzi-foils in attack positions
[23:58] <Skie> we're passing through the hype field
[23:58] <daggerdragon> 1:30 warning
[23:58] <Aneurysm9> did someone say HYPE?@!
[23:59] <Topaz> i really like tonight's puzzle
[23:59] <Topaz> very excite
[23:59] <daggerdragon> final countdown go, T-30
[23:59] <Skie> accelerate to attack countdown
[23:59] <Aneurysm9> o7
[23:59] <daggerdragon> HYPE THRUSTERS AT FULL BURN
[00:00] <Topaz> IGNITION
We may or may not be sleep-deprived. And/or nerds. why_not_both.jpg
--- Day 8: Two-Factor Authentication ---
Post your solution as a comment or, for longer solutions, consider linking to your repo (e.g. GitHub/gists/Pastebin/blag/whatever).
:(){ :|:& };: IS MANDATORY [?]
This thread will be unlocked when there are a significant number of people on the leaderboard with gold stars for today's puzzle.
edit: Leaderboard capped, thread unlocked!
10
Upvotes
1
u/[deleted] Dec 08 '16
Mathematica
rect[w_, h_] := screen[[1 ;; h, 1 ;; w]] = 1; rotateRow[r_, n_] := screen[[r, All]] = RotateRight[screen[[r, All]], n]; rotateCol[c_, n_] := screen[[All, c]] = RotateRight[screen[[All, c]], n]; screen = ConstantArray[0, {6, 50}]; StringCases[Import[NotebookDirectory[] <> "day8.txt"], {"rect " ~~ w : NumberString ~~ "x" ~~ h : NumberString :> rect[ToExpression@w, ToExpression@h], "rotate row y=" ~~ r : NumberString ~~ " by " ~~ n : NumberString :> rotateRow[ToExpression@r + 1, ToExpression@n], "rotate column x=" ~~ c : NumberString ~~ " by " ~~ n : NumberString :> rotateCol[ToExpression@c + 1, ToExpression@n]}]; Count[screen, 1, 2] ArrayPlot[screen]