You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

98 lines
3.4 KiB
Markdown

3 years ago
https://adventofcode.com/2021/day/4
## \--- Day 4: Giant Squid ---
You're already almost 1.5km (almost a mile) below the surface of the ocean,
already so deep that you can't see any sunlight. What you _can_ see, however,
is a giant squid that has attached itself to the outside of your submarine.
Maybe it wants to play
[bingo](https://en.wikipedia.org/wiki/Bingo_\(American_version\))?
Bingo is played on a set of boards each consisting of a 5x5 grid of numbers.
Numbers are chosen at random, and the chosen number is _marked_ on all boards
on which it appears. (Numbers may not appear on all boards.) If all numbers in
any row or any column of a board are marked, that board _wins_. (Diagonals
don't count.)
The submarine has a _bingo subsystem_ to help passengers (currently, you and
the giant squid) pass the time. It automatically generates a random order in
which to draw numbers and a random set of boards (your puzzle input). For
example:
[code]
7,4,9,5,11,17,23,2,0,14,21,24,10,16,13,6,15,25,12,22,18,20,8,19,3,26,1
22 13 17 11 0
8 2 23 4 24
21 9 14 16 7
6 10 3 18 5
1 12 20 15 19
3 15 0 2 22
9 18 13 17 5
19 8 7 25 23
20 11 10 24 4
14 21 16 12 6
14 21 17 24 4
10 16 15 9 19
18 8 23 26 20
22 11 13 6 5
2 0 12 3 7
[/code]
After the first five numbers are drawn (`7`, `4`, `9`, `5`, and `11`), there
are no winners, but the boards are marked as follows (shown here adjacent to
each other to save space):
[code]
22 13 17 _11_ 0 3 15 0 2 22 14 21 17 24 _4_
8 2 23 _4_ 24 _9_ 18 13 17 _5_ 10 16 15 _9_ 19
21 _9_ 14 16 _7_ 19 8 _7_ 25 23 18 8 23 26 20
6 10 3 18 _5_ 20 _11_ 10 24 _4_ 22 _11_ 13 6 _5_
1 12 20 15 19 14 21 16 12 6 2 0 12 3 _7_
[/code]
After the next six numbers are drawn (`17`, `23`, `2`, `0`, `14`, and `21`),
there are still no winners:
[code]
22 13 _17_ _11_ _0_ 3 15 _0_ _2_ 22 _14_ _21_ _17_ 24 _4_
8 _2_ _23_ _4_ 24 _9_ 18 13 _17_ _5_ 10 16 15 _9_ 19
_21_ _9_ _14_ 16 _7_ 19 8 _7_ 25 _23_ 18 8 _23_ 26 20
6 10 3 18 _5_ 20 _11_ 10 24 _4_ 22 _11_ 13 6 _5_
1 12 20 15 19 _14_ _21_ 16 12 6 _2_ _0_ 12 3 _7_
[/code]
Finally, `24` is drawn:
[code]
22 13 _17_ _11_ _0_ 3 15 _0_ _2_ 22 _14_ _21_ _17_ _24_ _4_
8 _2_ _23_ _4_ _24_ _9_ 18 13 _17_ _5_ 10 16 15 _9_ 19
_21_ _9_ _14_ 16 _7_ 19 8 _7_ 25 _23_ 18 8 _23_ 26 20
6 10 3 18 _5_ 20 _11_ 10 _24_ _4_ 22 _11_ 13 6 _5_
1 12 20 15 19 _14_ _21_ 16 12 6 _2_ _0_ 12 3 _7_
[/code]
At this point, the third board _wins_ because it has at least one complete row
or column of marked numbers (in this case, the entire top row is marked: `_14
21 17 24 4_`).
The _score_ of the winning board can now be calculated. Start by finding the
_sum of all unmarked numbers_ on that board; in this case, the sum is `188`.
Then, multiply that sum by _the number that was just called_ when the board
won, `24`, to get the final score, `188 * 24 = _4512_`.
To guarantee victory against the giant squid, figure out which board will win
first. _What will your final score be if you choose that board?_