2017-12-17 16:00:37 +00:00
|
|
|
|
Advent of Code
|
|
|
|
|
|
|
|
|
|
--- Day 16: Permutation Promenade ---
|
|
|
|
|
|
|
|
|
|
You come upon a very unusual sight; a group of programs here appear to be
|
|
|
|
|
dancing.
|
|
|
|
|
|
|
|
|
|
There are sixteen programs in total, named a through p. They start by
|
|
|
|
|
standing in a line: a stands in position 0, b stands in position 1, and so on
|
|
|
|
|
until p, which stands in position 15.
|
|
|
|
|
|
|
|
|
|
The programs' dance consists of a sequence of dance moves:
|
|
|
|
|
|
|
|
|
|
* Spin, written sX, makes X programs move from the end to the front, but
|
|
|
|
|
maintain their order otherwise. (For example, s3 on abcde produces
|
|
|
|
|
cdeab).
|
|
|
|
|
* Exchange, written xA/B, makes the programs at positions A and B swap
|
|
|
|
|
places.
|
|
|
|
|
* Partner, written pA/B, makes the programs named A and B swap places.
|
|
|
|
|
|
|
|
|
|
For example, with only five programs standing in a line (abcde), they could
|
|
|
|
|
do the following dance:
|
|
|
|
|
|
|
|
|
|
* s1, a spin of size 1: eabcd.
|
|
|
|
|
* x3/4, swapping the last two programs: eabdc.
|
|
|
|
|
* pe/b, swapping programs e and b: baedc.
|
|
|
|
|
|
|
|
|
|
After finishing their dance, the programs end up in order baedc.
|
|
|
|
|
|
|
|
|
|
You watch the dance for a while and record their dance moves (your puzzle
|
|
|
|
|
input). In what order are the programs standing after their dance?
|
|
|
|
|
|
2018-03-15 15:08:01 +00:00
|
|
|
|
Your puzzle answer was bkgcdefiholnpmja.
|
2017-12-17 16:00:37 +00:00
|
|
|
|
|
|
|
|
|
--- Part Two ---
|
|
|
|
|
|
|
|
|
|
Now that you're starting to get a feel for the dance moves, you turn your
|
|
|
|
|
attention to the dance as a whole.
|
|
|
|
|
|
|
|
|
|
Keeping the positions they ended up in from their previous dance, the
|
|
|
|
|
programs perform it again and again: including the first dance, a total of
|
|
|
|
|
one billion (1000000000) times.
|
|
|
|
|
|
|
|
|
|
In the example above, their second dance would begin with the order baedc,
|
|
|
|
|
and use the same dance moves:
|
|
|
|
|
|
|
|
|
|
* s1, a spin of size 1: cbaed.
|
|
|
|
|
* x3/4, swapping the last two programs: cbade.
|
|
|
|
|
* pe/b, swapping programs e and b: ceadb.
|
|
|
|
|
|
|
|
|
|
In what order are the programs standing after their billion dances?
|
|
|
|
|
|
2018-03-15 15:08:01 +00:00
|
|
|
|
Your puzzle answer was knmdfoijcbpghlea.
|
2017-12-17 16:00:37 +00:00
|
|
|
|
|
|
|
|
|
Both parts of this puzzle are complete! They provide two gold stars: **
|
|
|
|
|
|
|
|
|
|
At this point, you should return to your advent calendar and try another
|
|
|
|
|
puzzle.
|
|
|
|
|
|
|
|
|
|
If you still want to see it, you can get your puzzle input.
|
|
|
|
|
|
|
|
|
|
References
|
|
|
|
|
|
|
|
|
|
Visible links
|
|
|
|
|
. http://adventofcode.com/
|
|
|
|
|
. http://adventofcode.com/2017/about
|
|
|
|
|
. http://adventofcode.com/2017/support
|
|
|
|
|
. http://adventofcode.com/2017/events
|
|
|
|
|
. http://adventofcode.com/2017/settings
|
|
|
|
|
. http://adventofcode.com/2017/auth/logout
|
|
|
|
|
. http://adventofcode.com/2017
|
|
|
|
|
. http://adventofcode.com/2017
|
|
|
|
|
. http://adventofcode.com/2017/leaderboard
|
|
|
|
|
. http://adventofcode.com/2017/stats
|
|
|
|
|
. http://adventofcode.com/2017/sponsors
|
|
|
|
|
. http://adventofcode.com/2017/sponsors
|
|
|
|
|
. http://adventofcode.com/2017
|
|
|
|
|
. http://adventofcode.com/2017/day/16/input
|