add solution for day 5
This commit is contained in:
parent
9eadc6a3c1
commit
5930deb3c5
512
data/day_5.txt
Normal file
512
data/day_5.txt
Normal file
@ -0,0 +1,512 @@
|
|||||||
|
[N] [G] [Q]
|
||||||
|
[H] [B] [B] [R] [H]
|
||||||
|
[S] [N] [Q] [M] [T] [Z]
|
||||||
|
[J] [T] [R] [V] [H] [R] [S]
|
||||||
|
[F] [Q] [W] [T] [V] [J] [V] [M]
|
||||||
|
[W] [P] [V] [S] [F] [B] [Q] [J] [H]
|
||||||
|
[T] [R] [Q] [B] [D] [D] [B] [N] [N]
|
||||||
|
[D] [H] [L] [N] [N] [M] [D] [D] [B]
|
||||||
|
1 2 3 4 5 6 7 8 9
|
||||||
|
|
||||||
|
move 3 from 1 to 2
|
||||||
|
move 1 from 7 to 1
|
||||||
|
move 1 from 6 to 5
|
||||||
|
move 5 from 5 to 9
|
||||||
|
move 2 from 5 to 2
|
||||||
|
move 1 from 6 to 8
|
||||||
|
move 1 from 5 to 7
|
||||||
|
move 5 from 4 to 6
|
||||||
|
move 1 from 7 to 6
|
||||||
|
move 1 from 2 to 4
|
||||||
|
move 5 from 2 to 6
|
||||||
|
move 2 from 1 to 5
|
||||||
|
move 2 from 1 to 9
|
||||||
|
move 16 from 6 to 4
|
||||||
|
move 6 from 8 to 3
|
||||||
|
move 7 from 2 to 4
|
||||||
|
move 5 from 9 to 3
|
||||||
|
move 1 from 1 to 4
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 3 from 7 to 4
|
||||||
|
move 2 from 5 to 4
|
||||||
|
move 31 from 4 to 8
|
||||||
|
move 22 from 8 to 4
|
||||||
|
move 9 from 3 to 6
|
||||||
|
move 7 from 9 to 5
|
||||||
|
move 4 from 5 to 6
|
||||||
|
move 6 from 3 to 2
|
||||||
|
move 2 from 6 to 7
|
||||||
|
move 5 from 2 to 7
|
||||||
|
move 1 from 2 to 4
|
||||||
|
move 1 from 7 to 5
|
||||||
|
move 4 from 5 to 4
|
||||||
|
move 2 from 6 to 9
|
||||||
|
move 2 from 4 to 6
|
||||||
|
move 7 from 6 to 4
|
||||||
|
move 2 from 6 to 1
|
||||||
|
move 1 from 6 to 8
|
||||||
|
move 8 from 8 to 1
|
||||||
|
move 1 from 7 to 6
|
||||||
|
move 4 from 1 to 5
|
||||||
|
move 9 from 4 to 8
|
||||||
|
move 4 from 1 to 7
|
||||||
|
move 3 from 5 to 3
|
||||||
|
move 2 from 1 to 9
|
||||||
|
move 1 from 3 to 2
|
||||||
|
move 1 from 9 to 8
|
||||||
|
move 1 from 2 to 1
|
||||||
|
move 1 from 1 to 8
|
||||||
|
move 1 from 5 to 1
|
||||||
|
move 2 from 3 to 1
|
||||||
|
move 2 from 6 to 9
|
||||||
|
move 19 from 4 to 1
|
||||||
|
move 4 from 4 to 2
|
||||||
|
move 6 from 1 to 4
|
||||||
|
move 1 from 2 to 4
|
||||||
|
move 4 from 4 to 3
|
||||||
|
move 7 from 7 to 3
|
||||||
|
move 7 from 8 to 2
|
||||||
|
move 2 from 7 to 4
|
||||||
|
move 3 from 2 to 1
|
||||||
|
move 8 from 8 to 2
|
||||||
|
move 3 from 9 to 1
|
||||||
|
move 2 from 9 to 1
|
||||||
|
move 10 from 2 to 7
|
||||||
|
move 4 from 3 to 1
|
||||||
|
move 1 from 8 to 3
|
||||||
|
move 1 from 4 to 5
|
||||||
|
move 1 from 3 to 6
|
||||||
|
move 1 from 2 to 1
|
||||||
|
move 10 from 1 to 3
|
||||||
|
move 1 from 4 to 7
|
||||||
|
move 1 from 6 to 4
|
||||||
|
move 7 from 3 to 2
|
||||||
|
move 5 from 2 to 8
|
||||||
|
move 11 from 7 to 2
|
||||||
|
move 3 from 4 to 3
|
||||||
|
move 1 from 4 to 3
|
||||||
|
move 5 from 8 to 9
|
||||||
|
move 17 from 2 to 4
|
||||||
|
move 11 from 1 to 5
|
||||||
|
move 4 from 1 to 3
|
||||||
|
move 5 from 9 to 2
|
||||||
|
move 4 from 2 to 1
|
||||||
|
move 3 from 5 to 7
|
||||||
|
move 6 from 5 to 3
|
||||||
|
move 1 from 5 to 8
|
||||||
|
move 6 from 1 to 8
|
||||||
|
move 3 from 8 to 5
|
||||||
|
move 1 from 1 to 4
|
||||||
|
move 1 from 7 to 2
|
||||||
|
move 15 from 3 to 4
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 10 from 3 to 9
|
||||||
|
move 2 from 7 to 4
|
||||||
|
move 1 from 2 to 8
|
||||||
|
move 21 from 4 to 9
|
||||||
|
move 1 from 2 to 3
|
||||||
|
move 1 from 8 to 1
|
||||||
|
move 9 from 4 to 2
|
||||||
|
move 1 from 1 to 5
|
||||||
|
move 5 from 2 to 7
|
||||||
|
move 2 from 8 to 5
|
||||||
|
move 1 from 8 to 1
|
||||||
|
move 2 from 2 to 8
|
||||||
|
move 2 from 4 to 9
|
||||||
|
move 24 from 9 to 5
|
||||||
|
move 3 from 4 to 1
|
||||||
|
move 2 from 2 to 5
|
||||||
|
move 12 from 5 to 1
|
||||||
|
move 10 from 1 to 5
|
||||||
|
move 23 from 5 to 6
|
||||||
|
move 8 from 9 to 1
|
||||||
|
move 3 from 8 to 1
|
||||||
|
move 1 from 1 to 2
|
||||||
|
move 1 from 3 to 7
|
||||||
|
move 11 from 6 to 1
|
||||||
|
move 1 from 2 to 4
|
||||||
|
move 6 from 6 to 8
|
||||||
|
move 4 from 6 to 7
|
||||||
|
move 1 from 7 to 3
|
||||||
|
move 1 from 3 to 4
|
||||||
|
move 23 from 1 to 8
|
||||||
|
move 1 from 4 to 2
|
||||||
|
move 1 from 2 to 1
|
||||||
|
move 1 from 6 to 7
|
||||||
|
move 6 from 5 to 3
|
||||||
|
move 1 from 7 to 8
|
||||||
|
move 1 from 1 to 8
|
||||||
|
move 1 from 9 to 3
|
||||||
|
move 6 from 7 to 2
|
||||||
|
move 3 from 5 to 9
|
||||||
|
move 5 from 2 to 3
|
||||||
|
move 28 from 8 to 3
|
||||||
|
move 4 from 1 to 9
|
||||||
|
move 5 from 9 to 5
|
||||||
|
move 2 from 8 to 5
|
||||||
|
move 1 from 9 to 4
|
||||||
|
move 2 from 7 to 5
|
||||||
|
move 1 from 4 to 2
|
||||||
|
move 1 from 4 to 8
|
||||||
|
move 2 from 8 to 3
|
||||||
|
move 6 from 5 to 2
|
||||||
|
move 1 from 7 to 2
|
||||||
|
move 39 from 3 to 2
|
||||||
|
move 2 from 3 to 8
|
||||||
|
move 1 from 9 to 6
|
||||||
|
move 2 from 2 to 9
|
||||||
|
move 2 from 9 to 6
|
||||||
|
move 1 from 8 to 1
|
||||||
|
move 1 from 1 to 6
|
||||||
|
move 5 from 6 to 9
|
||||||
|
move 2 from 5 to 8
|
||||||
|
move 20 from 2 to 4
|
||||||
|
move 2 from 4 to 8
|
||||||
|
move 2 from 8 to 3
|
||||||
|
move 3 from 3 to 1
|
||||||
|
move 22 from 2 to 5
|
||||||
|
move 2 from 9 to 1
|
||||||
|
move 3 from 1 to 7
|
||||||
|
move 1 from 2 to 6
|
||||||
|
move 1 from 2 to 9
|
||||||
|
move 1 from 1 to 8
|
||||||
|
move 2 from 7 to 9
|
||||||
|
move 1 from 6 to 8
|
||||||
|
move 1 from 2 to 7
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 1 from 9 to 8
|
||||||
|
move 1 from 8 to 5
|
||||||
|
move 3 from 8 to 7
|
||||||
|
move 3 from 7 to 8
|
||||||
|
move 15 from 4 to 1
|
||||||
|
move 1 from 4 to 3
|
||||||
|
move 10 from 1 to 6
|
||||||
|
move 3 from 8 to 1
|
||||||
|
move 5 from 9 to 4
|
||||||
|
move 7 from 5 to 1
|
||||||
|
move 4 from 6 to 3
|
||||||
|
move 15 from 5 to 2
|
||||||
|
move 4 from 6 to 4
|
||||||
|
move 7 from 2 to 1
|
||||||
|
move 6 from 4 to 6
|
||||||
|
move 1 from 5 to 9
|
||||||
|
move 1 from 5 to 7
|
||||||
|
move 1 from 3 to 5
|
||||||
|
move 11 from 1 to 8
|
||||||
|
move 3 from 4 to 6
|
||||||
|
move 4 from 1 to 5
|
||||||
|
move 1 from 2 to 5
|
||||||
|
move 2 from 8 to 3
|
||||||
|
move 11 from 6 to 1
|
||||||
|
move 1 from 3 to 7
|
||||||
|
move 1 from 9 to 8
|
||||||
|
move 6 from 5 to 8
|
||||||
|
move 3 from 8 to 4
|
||||||
|
move 1 from 4 to 5
|
||||||
|
move 3 from 3 to 1
|
||||||
|
move 9 from 8 to 2
|
||||||
|
move 2 from 1 to 5
|
||||||
|
move 11 from 2 to 5
|
||||||
|
move 1 from 3 to 6
|
||||||
|
move 2 from 8 to 5
|
||||||
|
move 3 from 4 to 6
|
||||||
|
move 1 from 8 to 3
|
||||||
|
move 2 from 1 to 9
|
||||||
|
move 1 from 3 to 8
|
||||||
|
move 16 from 5 to 7
|
||||||
|
move 3 from 1 to 6
|
||||||
|
move 1 from 3 to 5
|
||||||
|
move 1 from 6 to 7
|
||||||
|
move 1 from 9 to 4
|
||||||
|
move 1 from 5 to 4
|
||||||
|
move 1 from 3 to 2
|
||||||
|
move 1 from 1 to 2
|
||||||
|
move 3 from 4 to 9
|
||||||
|
move 1 from 2 to 7
|
||||||
|
move 2 from 8 to 3
|
||||||
|
move 6 from 2 to 8
|
||||||
|
move 11 from 1 to 3
|
||||||
|
move 6 from 3 to 1
|
||||||
|
move 4 from 3 to 2
|
||||||
|
move 2 from 3 to 1
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 4 from 8 to 4
|
||||||
|
move 4 from 8 to 2
|
||||||
|
move 11 from 7 to 2
|
||||||
|
move 9 from 7 to 5
|
||||||
|
move 1 from 7 to 3
|
||||||
|
move 4 from 5 to 7
|
||||||
|
move 14 from 2 to 3
|
||||||
|
move 17 from 3 to 7
|
||||||
|
move 2 from 5 to 2
|
||||||
|
move 1 from 5 to 7
|
||||||
|
move 1 from 5 to 6
|
||||||
|
move 4 from 6 to 7
|
||||||
|
move 8 from 1 to 2
|
||||||
|
move 2 from 6 to 4
|
||||||
|
move 1 from 6 to 8
|
||||||
|
move 6 from 4 to 1
|
||||||
|
move 1 from 8 to 5
|
||||||
|
move 6 from 7 to 8
|
||||||
|
move 5 from 8 to 3
|
||||||
|
move 12 from 2 to 1
|
||||||
|
move 1 from 8 to 4
|
||||||
|
move 4 from 3 to 1
|
||||||
|
move 4 from 2 to 4
|
||||||
|
move 3 from 9 to 3
|
||||||
|
move 3 from 3 to 2
|
||||||
|
move 1 from 3 to 2
|
||||||
|
move 3 from 4 to 1
|
||||||
|
move 2 from 5 to 7
|
||||||
|
move 22 from 1 to 8
|
||||||
|
move 17 from 8 to 6
|
||||||
|
move 21 from 7 to 6
|
||||||
|
move 3 from 2 to 8
|
||||||
|
move 3 from 1 to 5
|
||||||
|
move 3 from 5 to 2
|
||||||
|
move 2 from 4 to 6
|
||||||
|
move 7 from 6 to 5
|
||||||
|
move 1 from 9 to 4
|
||||||
|
move 14 from 6 to 4
|
||||||
|
move 5 from 8 to 3
|
||||||
|
move 1 from 6 to 3
|
||||||
|
move 3 from 3 to 9
|
||||||
|
move 2 from 9 to 1
|
||||||
|
move 2 from 7 to 1
|
||||||
|
move 16 from 6 to 8
|
||||||
|
move 2 from 6 to 7
|
||||||
|
move 1 from 2 to 7
|
||||||
|
move 1 from 3 to 8
|
||||||
|
move 7 from 4 to 1
|
||||||
|
move 2 from 7 to 2
|
||||||
|
move 4 from 4 to 7
|
||||||
|
move 5 from 2 to 4
|
||||||
|
move 1 from 7 to 3
|
||||||
|
move 3 from 5 to 8
|
||||||
|
move 1 from 7 to 5
|
||||||
|
move 12 from 1 to 6
|
||||||
|
move 3 from 7 to 2
|
||||||
|
move 7 from 4 to 2
|
||||||
|
move 3 from 3 to 2
|
||||||
|
move 1 from 4 to 2
|
||||||
|
move 1 from 9 to 8
|
||||||
|
move 8 from 6 to 8
|
||||||
|
move 12 from 2 to 4
|
||||||
|
move 5 from 5 to 2
|
||||||
|
move 11 from 4 to 9
|
||||||
|
move 3 from 6 to 3
|
||||||
|
move 2 from 4 to 2
|
||||||
|
move 4 from 2 to 6
|
||||||
|
move 5 from 2 to 8
|
||||||
|
move 12 from 8 to 4
|
||||||
|
move 20 from 8 to 5
|
||||||
|
move 13 from 5 to 3
|
||||||
|
move 1 from 8 to 5
|
||||||
|
move 5 from 5 to 9
|
||||||
|
move 16 from 9 to 1
|
||||||
|
move 9 from 4 to 5
|
||||||
|
move 12 from 3 to 9
|
||||||
|
move 5 from 6 to 5
|
||||||
|
move 9 from 9 to 7
|
||||||
|
move 14 from 1 to 4
|
||||||
|
move 14 from 4 to 1
|
||||||
|
move 15 from 5 to 7
|
||||||
|
move 4 from 8 to 2
|
||||||
|
move 3 from 4 to 3
|
||||||
|
move 3 from 1 to 8
|
||||||
|
move 1 from 5 to 9
|
||||||
|
move 1 from 5 to 3
|
||||||
|
move 3 from 9 to 8
|
||||||
|
move 4 from 3 to 4
|
||||||
|
move 1 from 4 to 6
|
||||||
|
move 20 from 7 to 2
|
||||||
|
move 2 from 3 to 8
|
||||||
|
move 3 from 7 to 2
|
||||||
|
move 4 from 2 to 1
|
||||||
|
move 1 from 6 to 7
|
||||||
|
move 3 from 4 to 2
|
||||||
|
move 2 from 2 to 3
|
||||||
|
move 4 from 3 to 4
|
||||||
|
move 1 from 8 to 1
|
||||||
|
move 3 from 8 to 1
|
||||||
|
move 2 from 7 to 8
|
||||||
|
move 1 from 4 to 5
|
||||||
|
move 14 from 2 to 5
|
||||||
|
move 6 from 1 to 5
|
||||||
|
move 1 from 4 to 3
|
||||||
|
move 15 from 1 to 4
|
||||||
|
move 1 from 8 to 2
|
||||||
|
move 1 from 9 to 5
|
||||||
|
move 4 from 8 to 7
|
||||||
|
move 13 from 5 to 6
|
||||||
|
move 1 from 8 to 1
|
||||||
|
move 2 from 7 to 9
|
||||||
|
move 12 from 6 to 4
|
||||||
|
move 1 from 3 to 6
|
||||||
|
move 1 from 1 to 6
|
||||||
|
move 4 from 5 to 2
|
||||||
|
move 5 from 5 to 6
|
||||||
|
move 2 from 6 to 2
|
||||||
|
move 1 from 7 to 5
|
||||||
|
move 2 from 6 to 9
|
||||||
|
move 1 from 5 to 9
|
||||||
|
move 16 from 2 to 5
|
||||||
|
move 17 from 4 to 1
|
||||||
|
move 3 from 1 to 3
|
||||||
|
move 1 from 2 to 6
|
||||||
|
move 2 from 6 to 1
|
||||||
|
move 3 from 3 to 1
|
||||||
|
move 14 from 1 to 8
|
||||||
|
move 3 from 5 to 2
|
||||||
|
move 4 from 8 to 2
|
||||||
|
move 3 from 4 to 5
|
||||||
|
move 15 from 5 to 3
|
||||||
|
move 1 from 7 to 6
|
||||||
|
move 3 from 1 to 8
|
||||||
|
move 2 from 3 to 7
|
||||||
|
move 1 from 1 to 2
|
||||||
|
move 1 from 7 to 6
|
||||||
|
move 4 from 2 to 8
|
||||||
|
move 2 from 6 to 2
|
||||||
|
move 1 from 7 to 6
|
||||||
|
move 3 from 8 to 2
|
||||||
|
move 12 from 8 to 6
|
||||||
|
move 1 from 5 to 6
|
||||||
|
move 3 from 2 to 5
|
||||||
|
move 2 from 2 to 5
|
||||||
|
move 4 from 6 to 5
|
||||||
|
move 4 from 3 to 5
|
||||||
|
move 1 from 8 to 4
|
||||||
|
move 11 from 6 to 4
|
||||||
|
move 6 from 3 to 1
|
||||||
|
move 2 from 9 to 8
|
||||||
|
move 20 from 4 to 5
|
||||||
|
move 1 from 4 to 9
|
||||||
|
move 2 from 3 to 8
|
||||||
|
move 1 from 3 to 8
|
||||||
|
move 17 from 5 to 8
|
||||||
|
move 5 from 5 to 9
|
||||||
|
move 9 from 5 to 1
|
||||||
|
move 2 from 6 to 7
|
||||||
|
move 23 from 8 to 2
|
||||||
|
move 2 from 7 to 5
|
||||||
|
move 3 from 9 to 4
|
||||||
|
move 16 from 2 to 4
|
||||||
|
move 11 from 1 to 8
|
||||||
|
move 4 from 5 to 8
|
||||||
|
move 11 from 2 to 6
|
||||||
|
move 2 from 6 to 1
|
||||||
|
move 5 from 9 to 5
|
||||||
|
move 5 from 5 to 6
|
||||||
|
move 5 from 8 to 6
|
||||||
|
move 1 from 6 to 7
|
||||||
|
move 7 from 8 to 1
|
||||||
|
move 12 from 1 to 2
|
||||||
|
move 1 from 9 to 5
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 1 from 1 to 4
|
||||||
|
move 1 from 5 to 3
|
||||||
|
move 1 from 3 to 6
|
||||||
|
move 1 from 8 to 2
|
||||||
|
move 18 from 6 to 2
|
||||||
|
move 1 from 6 to 2
|
||||||
|
move 2 from 8 to 3
|
||||||
|
move 3 from 3 to 8
|
||||||
|
move 18 from 4 to 9
|
||||||
|
move 11 from 9 to 2
|
||||||
|
move 2 from 9 to 6
|
||||||
|
move 2 from 4 to 1
|
||||||
|
move 1 from 1 to 5
|
||||||
|
move 1 from 5 to 4
|
||||||
|
move 1 from 4 to 8
|
||||||
|
move 42 from 2 to 1
|
||||||
|
move 3 from 9 to 3
|
||||||
|
move 1 from 8 to 1
|
||||||
|
move 1 from 3 to 4
|
||||||
|
move 3 from 8 to 7
|
||||||
|
move 1 from 4 to 1
|
||||||
|
move 2 from 3 to 2
|
||||||
|
move 17 from 1 to 6
|
||||||
|
move 15 from 6 to 3
|
||||||
|
move 2 from 9 to 7
|
||||||
|
move 1 from 3 to 6
|
||||||
|
move 2 from 7 to 6
|
||||||
|
move 2 from 2 to 4
|
||||||
|
move 1 from 2 to 3
|
||||||
|
move 1 from 4 to 9
|
||||||
|
move 1 from 4 to 1
|
||||||
|
move 1 from 6 to 3
|
||||||
|
move 20 from 1 to 9
|
||||||
|
move 6 from 1 to 9
|
||||||
|
move 7 from 9 to 3
|
||||||
|
move 20 from 9 to 1
|
||||||
|
move 1 from 6 to 7
|
||||||
|
move 2 from 6 to 7
|
||||||
|
move 1 from 6 to 5
|
||||||
|
move 1 from 6 to 8
|
||||||
|
move 4 from 7 to 3
|
||||||
|
move 3 from 7 to 2
|
||||||
|
move 1 from 6 to 4
|
||||||
|
move 1 from 2 to 1
|
||||||
|
move 1 from 4 to 9
|
||||||
|
move 21 from 3 to 2
|
||||||
|
move 5 from 3 to 8
|
||||||
|
move 1 from 5 to 1
|
||||||
|
move 2 from 8 to 7
|
||||||
|
move 4 from 8 to 3
|
||||||
|
move 4 from 2 to 5
|
||||||
|
move 19 from 2 to 3
|
||||||
|
move 1 from 9 to 2
|
||||||
|
move 23 from 3 to 2
|
||||||
|
move 2 from 7 to 4
|
||||||
|
move 3 from 5 to 9
|
||||||
|
move 16 from 2 to 1
|
||||||
|
move 1 from 5 to 4
|
||||||
|
move 1 from 9 to 3
|
||||||
|
move 2 from 3 to 8
|
||||||
|
move 3 from 4 to 6
|
||||||
|
move 1 from 6 to 2
|
||||||
|
move 1 from 8 to 6
|
||||||
|
move 5 from 2 to 6
|
||||||
|
move 7 from 6 to 5
|
||||||
|
move 4 from 2 to 6
|
||||||
|
move 6 from 5 to 9
|
||||||
|
move 1 from 8 to 4
|
||||||
|
move 18 from 1 to 9
|
||||||
|
move 1 from 5 to 2
|
||||||
|
move 9 from 9 to 4
|
||||||
|
move 5 from 6 to 3
|
||||||
|
move 9 from 4 to 1
|
||||||
|
move 4 from 9 to 2
|
||||||
|
move 1 from 4 to 8
|
||||||
|
move 1 from 8 to 3
|
||||||
|
move 7 from 1 to 8
|
||||||
|
move 6 from 3 to 2
|
||||||
|
move 10 from 2 to 9
|
||||||
|
move 21 from 1 to 8
|
||||||
|
move 1 from 2 to 8
|
||||||
|
move 19 from 8 to 4
|
||||||
|
move 1 from 8 to 3
|
||||||
|
move 16 from 4 to 8
|
||||||
|
move 1 from 4 to 2
|
||||||
|
move 2 from 1 to 5
|
||||||
|
move 1 from 2 to 3
|
||||||
|
move 1 from 4 to 5
|
||||||
|
move 1 from 4 to 8
|
||||||
|
move 2 from 1 to 3
|
||||||
|
move 3 from 3 to 2
|
||||||
|
move 5 from 9 to 1
|
||||||
|
move 1 from 3 to 4
|
||||||
|
move 4 from 9 to 4
|
||||||
|
move 2 from 1 to 9
|
||||||
|
move 2 from 2 to 5
|
||||||
|
move 1 from 2 to 7
|
||||||
|
move 3 from 1 to 7
|
||||||
|
move 10 from 8 to 6
|
||||||
|
move 4 from 8 to 5
|
||||||
|
move 3 from 4 to 3
|
||||||
|
move 3 from 3 to 4
|
||||||
|
move 1 from 9 to 8
|
||||||
|
move 2 from 7 to 2
|
||||||
|
move 1 from 2 to 1
|
||||||
|
move 4 from 9 to 3
|
39
src/day_5.jl
Normal file
39
src/day_5.jl
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
|
||||||
|
function parse_input(input)
|
||||||
|
separator = findfirst(==(""), input)
|
||||||
|
num_stacks = length(unique(input[separator-1])) - 1
|
||||||
|
stacks = [ [] for _ in 1:num_stacks ]
|
||||||
|
instructions = [ parse.(Int, [ i.match for i in eachmatch(r"\d+", instr)]) for instr in input[separator+1:end] ]
|
||||||
|
|
||||||
|
for i in separator-2:-1:1
|
||||||
|
line = input[i]
|
||||||
|
while true
|
||||||
|
col = findlast(isletter, line)
|
||||||
|
(col == nothing) && break
|
||||||
|
index = Int(round(col/4, RoundUp))
|
||||||
|
push!(stacks[index], line[col])
|
||||||
|
line = line[begin:col-2]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
(stacks, instructions)
|
||||||
|
end
|
||||||
|
|
||||||
|
function solve(λ, input)
|
||||||
|
stacks, instructions = parse_input(input)
|
||||||
|
for (c,f,t) in instructions
|
||||||
|
append!(stacks[t],λ([pop!(stacks[f]) for _ in 1:c ]))
|
||||||
|
end
|
||||||
|
join(map(pop!, stacks))
|
||||||
|
end
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
solve((x) -> x, input)
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
solve(reverse, input)
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2022, 5)
|
Loading…
x
Reference in New Issue
Block a user