CINXE.COM
Advent of Code 2022
<!DOCTYPE html> <html lang="en-us"> <head> <meta charset="utf-8"/> <title>Advent of Code 2022</title> <link rel="stylesheet" type="text/css" href="/static/style.css?31"/> <link rel="stylesheet alternate" type="text/css" href="/static/highcontrast.css?1" title="High Contrast"/> <link rel="shortcut icon" href="/favicon.png"/> <script>window.addEventListener('click', function(e,s,r){if(e.target.nodeName==='CODE'&&e.detail===3){s=window.getSelection();s.removeAllRanges();r=document.createRange();r.selectNodeContents(e.target);s.addRange(r);}});</script> </head><!-- Oh, hello! Funny seeing you here. I appreciate your enthusiasm, but you aren't going to find much down here. There certainly aren't clues to any of the puzzles. The best surprises don't even appear in the source until you unlock them for real. Please be careful with automated requests; I'm not a massive company, and I can only take so much traffic. Please be considerate so that everyone gets to play. If you're curious about how Advent of Code works, it's running on some custom Perl code. Other than a few integrations (auth, analytics, social media), I built the whole thing myself, including the design, animations, prose, and all of the puzzles. The puzzles are most of the work; preparing a new calendar and a new set of puzzles each year takes all of my free time for 4-5 months. A lot of effort went into building this thing - I hope you're enjoying playing it as much as I enjoyed making it for you! If you'd like to hang out, I'm @ericwastl@hachyderm.io on Mastodon and @ericwastl on Twitter. - Eric Wastl --> <body> <header><div><h1 class="title-global"><a href="/">Advent of Code</a></h1><nav><ul><li><a href="/2022/about">[About]</a></li><li><a href="/2022/events">[Events]</a></li><li><a href="https://teespring.com/stores/advent-of-code" target="_blank">[Shop]</a></li><li><a href="/2022/auth/login">[Log In]</a></li></ul></nav></div><div><h1 class="title-event"> <span class="title-event-wrap">$year=</span><a href="/2022">2022</a><span class="title-event-wrap">;</span></h1><nav><ul><li><a href="/2022">[Calendar]</a></li><li><a href="/2022/support">[AoC++]</a></li><li><a href="/2022/sponsors">[Sponsors]</a></li><li><a href="/2022/leaderboard">[Leaderboard]</a></li><li><a href="/2022/stats">[Stats]</a></li></ul></nav></div></header> <div id="sidebar"> <div id="sponsor"><div class="quiet">Our <a href="/2022/sponsors">sponsors</a> help make Advent of Code possible:</div><div class="sponsor"><a href="https://careers.king.com/" target="_blank" onclick="if(ga)ga('send','event','sponsor','sidebar',this.href);" rel="noopener">King</a> - At King, we create unforgettable games (like Candy Crush) that are loved around the world. Join us to bring moments of magic to hundreds of millions of people every single day!</div></div> </div><!--/sidebar--> <main> <pre class="calendar calendar-beckon"><a aria-label="Day 25" href="/2022/day/25" class="calendar-day25"> - /\ - - - - - - - - / \/\ - - - - - - /\ - - @@@#@@#@@@@@@@@#@#@@@#@@#@@@#@@#@@@@@@@@@#@@@#@@# <span class="calendar-day">25</span> <span class="calendar-mark-complete">*</span><span class="calendar-mark-verycomplete">*</span></a> <a aria-label="Day 24" href="/2022/day/24" class="calendar-day24">#@@#@@@@@@@#@@@##@@@@###@@##@@@@##@@@#@@#@@@@@@@@ <span class="calendar-day">24</span> <span class="calendar-mark-complete">*</span><span class="calendar-mark-verycomplete">*</span></a> <a aria-label="Day 23" href="/2022/day/23" class="calendar-day23">#@@#@@@#@@@#@##@#@@@@@@@@@@@@@@@@@#@@#@@##@@##@#@ <span class="calendar-day">23</span> <span class="calendar-mark-complete">*</span><span class="calendar-mark-verycomplete">*</span></a> <a aria-label="Day 22" href="/2022/day/22" class="calendar-day22">@##@@@@@#@@@#@@#@#@#@#@@@@@#@@##@@#@#@#@@@@@@@@@@ <span class="calendar-day">22</span> <span class="calendar-mark-complete">*</span><span class="calendar-mark-verycomplete">*</span></a> <a aria-label="Day 21" href="/2022/day/21" class="calendar-day21">@##@#@@@#@#@@@@@@#@##@@##@@@@@@@@@@@#####@#@##@@@ <span class="calendar-day">21</span> <span class="calendar-mark-complete">*</span><span class="calendar-mark-verycomplete">*</span></a> <a aria-label="Day 20" href="/2022/day/20" class="calendar-day20">#@#@@@@######@@@@##@@@@@@#@@@@@@@@#@@@@@#@@@#@#@@ <span class="calendar-day">20</span> <span class="calendar-mark-complete">*</span><span class="calendar-mark-verycomplete">*</span></a> <a aria-label="Day 19" href="/2022/day/19" class="calendar-day19">@@@##@@@@@##@@#@@@@@@@#@@@@@@#@@@@@#@@@@@#|@@###@ <span class="calendar-day">19</span> <span class="calendar-mark-complete">*</span><span class="calendar-mark-verycomplete">*</span></a> <a aria-label="Day 18" href="/2022/day/18" class="calendar-day18">@#@@@@#@@@@@@@@##@@@##@@@#@@#@@@@#@@@@@@#|@#@@@#@ <span class="calendar-day">18</span> <span class="calendar-mark-complete">*</span><span class="calendar-mark-verycomplete">*</span></a> <a aria-label="Day 17" href="/2022/day/17" class="calendar-day17">#@@@@###@@@@@@@#@#@@#@@@##@@@##@##@@@#@@@@@@@#@@@ <span class="calendar-day">17</span> <span class="calendar-mark-complete">*</span><span class="calendar-mark-verycomplete">*</span></a> <a aria-label="Day 16" href="/2022/day/16" class="calendar-day16">@##@##@@@@@@##@@@#@#@@@##@@#@@@#@#@@@@#@@@@@@@@@# <span class="calendar-day">16</span> <span class="calendar-mark-complete">*</span><span class="calendar-mark-verycomplete">*</span></a> <a aria-label="Day 15" href="/2022/day/15" class="calendar-day15">#@@@@@@#@@@######@@@@##@#@@@##@@##@@#@#@@@###@#@# <span class="calendar-day">15</span> <span class="calendar-mark-complete">*</span><span class="calendar-mark-verycomplete">*</span></a> <a aria-label="Day 14" href="/2022/day/14" class="calendar-day14">@@@#@#@@@##@##@@@@@@@#@#@@@##@@@@@@@@@@@@#@@#@@## <span class="calendar-day">14</span> <span class="calendar-mark-complete">*</span><span class="calendar-mark-verycomplete">*</span></a> <a aria-label="Day 13" href="/2022/day/13" class="calendar-day13">@@#@@@#@@@@@#@@@#@@@@@@@##@##@@@@##@@@@#@#@@@@@@# <span class="calendar-day">13</span> <span class="calendar-mark-complete">*</span><span class="calendar-mark-verycomplete">*</span></a> <a aria-label="Day 12" href="/2022/day/12" class="calendar-day12">@@####@@##@@@#@@@##@@@@###@@#@@@##@#@@###@@###@## <span class="calendar-day">12</span> <span class="calendar-mark-complete">*</span><span class="calendar-mark-verycomplete">*</span></a> <a aria-label="Day 11" href="/2022/day/11" class="calendar-day11">@@@##@@@@@@@@@@#@@@@@@@#@@@@@@@@@#@#@#@#@#@###@## <span class="calendar-day">11</span> <span class="calendar-mark-complete">*</span><span class="calendar-mark-verycomplete">*</span></a> <a aria-label="Day 10" href="/2022/day/10" class="calendar-day10">@@#@#@@@@@#@@@#@#@@@#@@###@@#@##@@@@#@@@@#@@@@@#@ <span class="calendar-day">10</span> <span class="calendar-mark-complete">*</span><span class="calendar-mark-verycomplete">*</span></a> <a aria-label="Day 9" href="/2022/day/9" class="calendar-day9">#@@#@@@@@@@@@@@@##@@#@@#@@@@@@@#@@@@#@@@@@@@##@## <span class="calendar-day"> 9</span> <span class="calendar-mark-complete">*</span><span class="calendar-mark-verycomplete">*</span></a> <a aria-label="Day 8" href="/2022/day/8" class="calendar-day8">@#@@@#@@@@@@@#@@@@@#@#@#@@@@@###@@#@@@@@@@#@@#@@@ <span class="calendar-day"> 8</span> <span class="calendar-mark-complete">*</span><span class="calendar-mark-verycomplete">*</span></a> <a aria-label="Day 7" href="/2022/day/7" class="calendar-day7">@#@@@@@#@@#@@#@#@#@@@@@#@@#@@@#@@@@#@@#@@#@@@@@@@ <span class="calendar-day"> 7</span> <span class="calendar-mark-complete">*</span><span class="calendar-mark-verycomplete">*</span></a> <a aria-label="Day 6" href="/2022/day/6" class="calendar-day6">@@@@#@@@@@#@@#@@@#@#@@##@#@#@@@##@@@#@@@@@@@@@@@@ <span class="calendar-day"> 6</span> <span class="calendar-mark-complete">*</span><span class="calendar-mark-verycomplete">*</span></a> <a aria-label="Day 5" href="/2022/day/5" class="calendar-day5">@@##@@@#@##@#@@@@###@@@@#@@@#@@|#@@#@@@@@@@@@@@@@ <span class="calendar-day"> 5</span> <span class="calendar-mark-complete">*</span><span class="calendar-mark-verycomplete">*</span></a> <a aria-label="Day 4" href="/2022/day/4" class="calendar-day4">@@@##@#@@#@@@##@@@@@@@@@@#####@@@@@##@@@@@@@@@@## <span class="calendar-day"> 4</span> <span class="calendar-mark-complete">*</span><span class="calendar-mark-verycomplete">*</span></a> <a aria-label="Day 3" href="/2022/day/3" class="calendar-day3">#@#@##@@#@#@@@@@@@###@#@@#@@##@##@@#@@##@##@@@@@@ <span class="calendar-day"> 3</span> <span class="calendar-mark-complete">*</span><span class="calendar-mark-verycomplete">*</span></a> <a aria-label="Day 2" href="/2022/day/2" class="calendar-day2">@@#@@#@#@@#@@@@@@#@#@@#@@@#@@@@@@@@@@@@@#@@@@@@#@ <span class="calendar-day"> 2</span> <span class="calendar-mark-complete">*</span><span class="calendar-mark-verycomplete">*</span></a> <a aria-label="Day 1" href="/2022/day/1" class="calendar-day1">@#@@@@@#@##@@@@@@@##@#@@#@@@@@#@#@@#@@@@###@@@@#@ <span class="calendar-day"> 1</span> <span class="calendar-mark-complete">*</span><span class="calendar-mark-verycomplete">*</span></a> </pre> </main> <!-- ga --> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-69522494-1', 'auto'); ga('set', 'anonymizeIp', true); ga('send', 'pageview'); </script> <!-- /ga --> </body> </html>