Taking advantage of a neat trick for using $ rather than a lambda
[advent-of-code-17.git] / problems / day01.html
1 <!DOCTYPE html>
2 <html lang="en-us">
3 <head>
4 <meta charset="utf-8"/>
5 <title>Day 1 - Advent of Code 2017</title>
6 <!--[if lt IE 9]><script src="/static/html5.js"></script><![endif]-->
7 <link href='//fonts.googleapis.com/css?family=Source+Code+Pro:300&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
8 <link rel="stylesheet" type="text/css" href="/static/style.css?11"/>
9 <link rel="shortcut icon" href="/favicon.ico?2"/>
10 </head><!--
11
12
13
14
15 Oh, hello! Funny seeing you here.
16
17 I appreciate your enthusiasm, but you aren't going to find much down here.
18 There certainly aren't clues to any of the puzzles. The best surprises don't
19 even appear in the source until you unlock them for real.
20
21 Please be careful with automated requests; I'm not Google, and I can only take
22 so much traffic. Please be considerate so that everyone gets to play.
23
24 If you're curious about how Advent of Code works, it's running on some custom
25 Perl code. Other than a few integrations (auth, analytics, ads, social media),
26 I built the whole thing myself, including the design, animations, prose, and
27 all of the puzzles.
28
29 The puzzles probably took the longest; the easiest ones took an hour or two
30 each, but the harder ones took 4-5 hours, and a few even longer than that. A
31 lot of effort went into building this thing - I hope you're enjoying playing it
32 as much as I enjoyed making it for you!
33
34 If you'd like to hang out, I'm @ericwastl on Twitter.
35
36 - Eric Wastl
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87 -->
88 <body>
89 <header><div><h1 class="title-global"><a href="/">Advent of Code</a></h1><nav><ul><li><a href="/2017/about">[About]</a></li><li><a href="/2017/support">[AoC++]</a></li><li><a href="/2017/events">[Events]</a></li><li><a href="/2017/settings">[Settings]</a></li><li><a href="/2017/auth/logout">[Log Out]</a></li></ul></nav><div class="user">Neil Smith <span class="supporter">(AoC++)</span> <span class="star-count">4*</span></div></div><div><h1 class="title-event">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="title-event-wrap">λy.</span><a href="/2017">2017</a><span class="title-event-wrap"></span></h1><nav><ul><li><a href="/2017">[Calendar]</a></li><li><a href="/2017/leaderboard">[Leaderboard]</a></li><li><a href="/2017/stats">[Stats]</a></li><li><a href="/2017/sponsors">[Sponsors]</a></li></ul></nav></div></header>
90
91 <div id="sidebar">
92 <div id="sponsor"><div class="quiet">Our <a href="/2017/sponsors">sponsors</a> help make Advent of Code possible:</div><p><a href="https://cheppers.com/" target="_blank" onclick="if(ga)ga('send','event','sponsor','click',this.href);" rel="noopener">Cheppers</a> - xor(Pz0pQUI7Ch cmER8YDAEYAh4L GwEP, ↑↑↓↓←→←→BA)</p></div>
93 <div id="ad">
94 <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
95 <!-- Advent of Code Wide Skyscraper -->
96 <ins class="adsbygoogle"
97 style="display:inline-block;width:160px;height:600px"
98 data-ad-client="ca-pub-9420604735624631"
99 data-ad-slot="8014013294"></ins>
100 <script>
101 (adsbygoogle = window.adsbygoogle || []).push({});
102 </script>
103 </div><!--/ad-->
104 </div><!--/sidebar-->
105
106 <main>
107 <article class="day-desc"><h2>--- Day 1: Inverse Captcha ---</h2><p>The night before Christmas, one of Santa's Elves calls you in a panic. "The printer's broken! We can't print the <em>Naughty or Nice List</em>!" By the time you make it to <span title="Floor 17: cafeteria, printing department, and experimental organic digitization equipment.">sub-basement 17</span>, there are only a few minutes until midnight. "We have a big problem," she says; "there must be almost <em>fifty</em> bugs in this system, but nothing else can print The List. Stand in this square, quick! There's no time to explain; if you can convince them to pay you in <em class="star">stars</em>, you'll be able to--" She pulls a lever and the world goes blurry.</p>
108 <p>When your eyes can focus again, everything seems a lot more pixelated than before. She must have sent you inside the computer! You check the system clock: <em>25 milliseconds</em> until midnight. With that much time, you should be able to collect all <em class="star">fifty stars</em> by December 25th.</p>
109 <p>Collect stars by solving puzzles. Two puzzles will be made available on each <s style="text-decoration-color:#fff;">day</s> millisecond in the advent calendar; the second puzzle is unlocked when you complete the first. Each puzzle grants <em class="star">one star</em>. Good luck!</p>
110 <p>You're standing in a room with "digitization quarantine" written in LEDs along one wall. The only door is locked, but it includes a small interface. "Restricted Area - Strictly No Digitized Users Allowed."</p>
111 <p>It goes on to explain that you may only leave by solving a <a href="https://en.wikipedia.org/wiki/CAPTCHA">captcha</a> to prove you're <em>not</em> a human. Apparently, you only get one millisecond to solve the captcha: too fast for a normal human, but it feels like hours to you.</p>
112 <p>The captcha requires you to review a sequence of digits (your puzzle input) and find the <em>sum</em> of all digits that match the <em>next</em> digit in the list. The list is circular, so the digit after the last digit is the <em>first</em> digit in the list.</p>
113 <p>For example:</p>
114 <ul>
115 <li><code>1122</code> produces a sum of <code>3</code> (<code>1</code> + <code>2</code>) because the first digit (<code>1</code>) matches the second digit and the third digit (<code>2</code>) matches the fourth digit.</li>
116 <li><code>1111</code> produces <code>4</code> because each digit (all <code>1</code>) matches the next.</li>
117 <li><code>1234</code> produces <code>0</code> because no digit matches the next.</li>
118 <li><code>91212129</code> produces <code>9</code> because the only digit that matches the next one is the last digit, <code>9</code>.</li>
119 </ul>
120 <p><em>What is the solution</em> to your captcha?</p>
121 </article>
122 <p>Your puzzle answer was <code>1158</code>.</p><article class="day-desc"><h2>--- Part Two ---</h2><p>You notice a progress bar that jumps to 50% completion. Apparently, the door isn't yet satisfied, but it did emit a <em class="star">star</em> as encouragement. The instructions change:</p>
123 <p>Now, instead of considering the <em>next</em> digit, it wants you to consider the digit <em>halfway around</em> the circular list. That is, if your list contains <code>10</code> items, only include a digit in your sum if the digit <code>10/2 = 5</code> steps forward matches it. Fortunately, your list has an even number of elements.</p>
124 <p>For example:</p>
125 <ul>
126 <li><code>1212</code> produces <code>6</code>: the list contains <code>4</code> items, and all four digits match the digit <code>2</code> items ahead.</li>
127 <li><code>1221</code> produces <code>0</code>, because every comparison is between a <code>1</code> and a <code>2</code>.</li>
128 <li><code>123425</code> produces <code>4</code>, because both <code>2</code>s match each other, but no other digit has a match.</li>
129 <li><code>123123</code> produces <code>12</code>.</li>
130 <li><code>12131415</code> produces <code>4</code>.</li>
131 </ul>
132 <p><em>What is the solution</em> to your new captcha?</p>
133 </article>
134 <p>Your puzzle answer was <code>1132</code>.</p><p class="day-success">Both parts of this puzzle are complete! They provide two gold stars: **</p>
135 <p>At this point, you should <a href="/2017">return to your advent calendar</a> and try another puzzle.</p>
136 <p>If you still want to see it, you can <a href="1/input" target="_blank">get your puzzle input</a>.</p>
137 <p>You can also <span class="share">[Share<span class="share-content">on
138 <a href="https://twitter.com/intent/tweet?text=I%27ve+completed+%22Inverse+Captcha%22+%2D+Day+1+%2D+Advent+of+Code+2017&amp;url=http%3A%2F%2Fadventofcode%2Ecom%2F2017%2Fday%2F1&amp;related=ericwastl&amp;hashtags=AdventOfCode" target="_blank">Twitter</a>
139 <a href="https://plus.google.com/share?url=http%3A%2F%2Fadventofcode%2Ecom%2F2017%2Fday%2F1" target="_blank">Google+</a>
140 <a href="http://www.reddit.com/submit?url=http%3A%2F%2Fadventofcode%2Ecom%2F2017%2Fday%2F1&amp;title=I%27ve+completed+%22Inverse+Captcha%22+%2D+Day+1+%2D+Advent+of+Code+2017" target="_blank">Reddit</a
141 ></span>]</span> this puzzle.</p>
142 </main>
143
144 <!-- ga -->
145 <script>
146 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
147 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
148 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
149 })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
150 ga('create', 'UA-69522494-1', 'auto');
151 ga('send', 'pageview');
152 </script>
153 <!-- /ga -->
154 </body>
155 </html>