Day 5
This commit is contained in:
parent
e35f004445
commit
f8a9171a73
3 changed files with 566 additions and 0 deletions
|
|
@ -13,3 +13,4 @@ add_executable(d1 "d1/main.cxx")
|
||||||
add_executable(d2 "d2/main.cxx")
|
add_executable(d2 "d2/main.cxx")
|
||||||
add_executable(d3 "d3/main.cxx")
|
add_executable(d3 "d3/main.cxx")
|
||||||
add_executable(d4 "d4/main.cxx")
|
add_executable(d4 "d4/main.cxx")
|
||||||
|
add_executable(d5 "d5/main.cxx")
|
||||||
|
|
|
||||||
514
d5/input.txt
Normal file
514
d5/input.txt
Normal file
|
|
@ -0,0 +1,514 @@
|
||||||
|
[S] [C] [Z]
|
||||||
|
[F] [J] [P] [T] [N]
|
||||||
|
[G] [H] [G] [Q] [G] [D]
|
||||||
|
[V] [V] [D] [G] [F] [D] [V]
|
||||||
|
[R] [B] [F] [N] [N] [Q] [L] [S]
|
||||||
|
[J] [M] [M] [P] [H] [V] [B] [B] [D]
|
||||||
|
[L] [P] [H] [D] [L] [F] [D] [J] [L]
|
||||||
|
[D] [T] [V] [M] [J] [N] [F] [M] [G]
|
||||||
|
1 2 3 4 5 6 7 8 9
|
||||||
|
|
||||||
|
move 3 from 4 to 6
|
||||||
|
move 1 from 5 to 8
|
||||||
|
move 3 from 7 to 3
|
||||||
|
move 4 from 5 to 7
|
||||||
|
move 1 from 7 to 8
|
||||||
|
move 3 from 9 to 4
|
||||||
|
move 2 from 8 to 2
|
||||||
|
move 4 from 4 to 5
|
||||||
|
move 2 from 5 to 1
|
||||||
|
move 2 from 5 to 6
|
||||||
|
move 7 from 8 to 1
|
||||||
|
move 9 from 3 to 9
|
||||||
|
move 11 from 6 to 5
|
||||||
|
move 2 from 6 to 7
|
||||||
|
move 12 from 1 to 4
|
||||||
|
move 10 from 2 to 9
|
||||||
|
move 2 from 3 to 9
|
||||||
|
move 1 from 7 to 5
|
||||||
|
move 4 from 7 to 6
|
||||||
|
move 2 from 6 to 1
|
||||||
|
move 5 from 1 to 6
|
||||||
|
move 10 from 9 to 1
|
||||||
|
move 9 from 9 to 8
|
||||||
|
move 13 from 4 to 3
|
||||||
|
move 7 from 6 to 2
|
||||||
|
move 2 from 8 to 5
|
||||||
|
move 9 from 3 to 9
|
||||||
|
move 8 from 9 to 8
|
||||||
|
move 4 from 8 to 4
|
||||||
|
move 1 from 7 to 5
|
||||||
|
move 3 from 9 to 1
|
||||||
|
move 7 from 2 to 1
|
||||||
|
move 1 from 3 to 1
|
||||||
|
move 1 from 3 to 6
|
||||||
|
move 1 from 6 to 1
|
||||||
|
move 2 from 3 to 6
|
||||||
|
move 5 from 4 to 1
|
||||||
|
move 1 from 6 to 1
|
||||||
|
move 3 from 8 to 7
|
||||||
|
move 8 from 8 to 4
|
||||||
|
move 3 from 5 to 4
|
||||||
|
move 1 from 6 to 7
|
||||||
|
move 1 from 5 to 8
|
||||||
|
move 4 from 5 to 2
|
||||||
|
move 7 from 5 to 8
|
||||||
|
move 3 from 2 to 7
|
||||||
|
move 7 from 4 to 8
|
||||||
|
move 11 from 8 to 4
|
||||||
|
move 15 from 4 to 1
|
||||||
|
move 25 from 1 to 6
|
||||||
|
move 4 from 8 to 7
|
||||||
|
move 1 from 2 to 4
|
||||||
|
move 11 from 6 to 4
|
||||||
|
move 12 from 6 to 3
|
||||||
|
move 1 from 1 to 9
|
||||||
|
move 1 from 9 to 8
|
||||||
|
move 16 from 1 to 3
|
||||||
|
move 1 from 8 to 7
|
||||||
|
move 12 from 4 to 6
|
||||||
|
move 9 from 6 to 5
|
||||||
|
move 3 from 6 to 5
|
||||||
|
move 6 from 7 to 5
|
||||||
|
move 3 from 3 to 5
|
||||||
|
move 2 from 6 to 3
|
||||||
|
move 11 from 5 to 8
|
||||||
|
move 2 from 8 to 3
|
||||||
|
move 2 from 1 to 4
|
||||||
|
move 7 from 3 to 1
|
||||||
|
move 2 from 4 to 6
|
||||||
|
move 2 from 6 to 2
|
||||||
|
move 5 from 7 to 3
|
||||||
|
move 1 from 1 to 6
|
||||||
|
move 1 from 1 to 8
|
||||||
|
move 2 from 2 to 5
|
||||||
|
move 1 from 7 to 4
|
||||||
|
move 1 from 1 to 2
|
||||||
|
move 10 from 3 to 5
|
||||||
|
move 11 from 3 to 6
|
||||||
|
move 1 from 4 to 9
|
||||||
|
move 1 from 9 to 4
|
||||||
|
move 1 from 4 to 2
|
||||||
|
move 2 from 5 to 9
|
||||||
|
move 2 from 2 to 8
|
||||||
|
move 2 from 1 to 6
|
||||||
|
move 2 from 1 to 2
|
||||||
|
move 2 from 3 to 6
|
||||||
|
move 3 from 8 to 1
|
||||||
|
move 3 from 1 to 4
|
||||||
|
move 7 from 8 to 3
|
||||||
|
move 2 from 9 to 5
|
||||||
|
move 2 from 4 to 9
|
||||||
|
move 7 from 5 to 6
|
||||||
|
move 2 from 8 to 6
|
||||||
|
move 1 from 4 to 8
|
||||||
|
move 2 from 2 to 4
|
||||||
|
move 21 from 6 to 3
|
||||||
|
move 10 from 5 to 7
|
||||||
|
move 7 from 7 to 6
|
||||||
|
move 1 from 9 to 3
|
||||||
|
move 1 from 4 to 9
|
||||||
|
move 1 from 9 to 4
|
||||||
|
move 1 from 8 to 4
|
||||||
|
move 8 from 6 to 4
|
||||||
|
move 1 from 4 to 5
|
||||||
|
move 1 from 5 to 8
|
||||||
|
move 4 from 3 to 6
|
||||||
|
move 1 from 8 to 2
|
||||||
|
move 1 from 4 to 2
|
||||||
|
move 2 from 7 to 3
|
||||||
|
move 2 from 2 to 7
|
||||||
|
move 22 from 3 to 5
|
||||||
|
move 4 from 6 to 2
|
||||||
|
move 2 from 6 to 9
|
||||||
|
move 7 from 3 to 9
|
||||||
|
move 6 from 9 to 1
|
||||||
|
move 18 from 5 to 3
|
||||||
|
move 2 from 5 to 4
|
||||||
|
move 20 from 3 to 5
|
||||||
|
move 3 from 7 to 3
|
||||||
|
move 5 from 1 to 2
|
||||||
|
move 11 from 5 to 7
|
||||||
|
move 1 from 1 to 7
|
||||||
|
move 3 from 9 to 3
|
||||||
|
move 16 from 5 to 8
|
||||||
|
move 7 from 8 to 7
|
||||||
|
move 1 from 9 to 2
|
||||||
|
move 8 from 2 to 3
|
||||||
|
move 2 from 2 to 4
|
||||||
|
move 3 from 3 to 1
|
||||||
|
move 9 from 3 to 8
|
||||||
|
move 1 from 6 to 3
|
||||||
|
move 9 from 7 to 3
|
||||||
|
move 3 from 1 to 8
|
||||||
|
move 1 from 7 to 9
|
||||||
|
move 1 from 9 to 4
|
||||||
|
move 1 from 7 to 5
|
||||||
|
move 10 from 4 to 5
|
||||||
|
move 2 from 4 to 2
|
||||||
|
move 19 from 8 to 5
|
||||||
|
move 1 from 8 to 3
|
||||||
|
move 4 from 3 to 5
|
||||||
|
move 2 from 4 to 8
|
||||||
|
move 4 from 7 to 8
|
||||||
|
move 4 from 3 to 9
|
||||||
|
move 4 from 7 to 6
|
||||||
|
move 2 from 2 to 5
|
||||||
|
move 2 from 3 to 2
|
||||||
|
move 6 from 8 to 7
|
||||||
|
move 1 from 8 to 4
|
||||||
|
move 2 from 6 to 4
|
||||||
|
move 3 from 4 to 8
|
||||||
|
move 3 from 9 to 2
|
||||||
|
move 4 from 7 to 8
|
||||||
|
move 28 from 5 to 8
|
||||||
|
move 16 from 8 to 4
|
||||||
|
move 11 from 8 to 4
|
||||||
|
move 3 from 3 to 4
|
||||||
|
move 7 from 5 to 8
|
||||||
|
move 13 from 8 to 7
|
||||||
|
move 1 from 5 to 6
|
||||||
|
move 1 from 6 to 7
|
||||||
|
move 1 from 9 to 2
|
||||||
|
move 2 from 6 to 2
|
||||||
|
move 12 from 4 to 9
|
||||||
|
move 4 from 4 to 1
|
||||||
|
move 2 from 9 to 8
|
||||||
|
move 4 from 8 to 3
|
||||||
|
move 3 from 4 to 5
|
||||||
|
move 4 from 4 to 1
|
||||||
|
move 4 from 4 to 7
|
||||||
|
move 3 from 7 to 9
|
||||||
|
move 5 from 9 to 7
|
||||||
|
move 7 from 2 to 3
|
||||||
|
move 1 from 5 to 7
|
||||||
|
move 8 from 1 to 5
|
||||||
|
move 1 from 2 to 4
|
||||||
|
move 11 from 3 to 1
|
||||||
|
move 10 from 5 to 3
|
||||||
|
move 3 from 9 to 1
|
||||||
|
move 3 from 9 to 6
|
||||||
|
move 5 from 1 to 6
|
||||||
|
move 7 from 6 to 9
|
||||||
|
move 8 from 9 to 7
|
||||||
|
move 9 from 3 to 4
|
||||||
|
move 1 from 6 to 9
|
||||||
|
move 8 from 7 to 1
|
||||||
|
move 9 from 4 to 2
|
||||||
|
move 2 from 1 to 6
|
||||||
|
move 3 from 2 to 6
|
||||||
|
move 4 from 4 to 6
|
||||||
|
move 2 from 9 to 8
|
||||||
|
move 2 from 1 to 2
|
||||||
|
move 1 from 3 to 8
|
||||||
|
move 2 from 8 to 4
|
||||||
|
move 1 from 6 to 8
|
||||||
|
move 11 from 1 to 6
|
||||||
|
move 1 from 1 to 5
|
||||||
|
move 3 from 2 to 9
|
||||||
|
move 2 from 9 to 3
|
||||||
|
move 1 from 1 to 7
|
||||||
|
move 2 from 4 to 9
|
||||||
|
move 4 from 2 to 9
|
||||||
|
move 2 from 8 to 5
|
||||||
|
move 10 from 6 to 1
|
||||||
|
move 2 from 5 to 6
|
||||||
|
move 5 from 9 to 8
|
||||||
|
move 5 from 8 to 7
|
||||||
|
move 1 from 2 to 1
|
||||||
|
move 7 from 1 to 2
|
||||||
|
move 2 from 9 to 4
|
||||||
|
move 1 from 3 to 5
|
||||||
|
move 15 from 7 to 2
|
||||||
|
move 8 from 6 to 3
|
||||||
|
move 2 from 4 to 3
|
||||||
|
move 2 from 6 to 4
|
||||||
|
move 4 from 7 to 1
|
||||||
|
move 4 from 7 to 5
|
||||||
|
move 1 from 6 to 4
|
||||||
|
move 3 from 1 to 7
|
||||||
|
move 5 from 7 to 6
|
||||||
|
move 4 from 7 to 5
|
||||||
|
move 18 from 2 to 4
|
||||||
|
move 5 from 6 to 4
|
||||||
|
move 4 from 1 to 2
|
||||||
|
move 8 from 3 to 8
|
||||||
|
move 2 from 8 to 4
|
||||||
|
move 2 from 3 to 7
|
||||||
|
move 1 from 5 to 7
|
||||||
|
move 3 from 8 to 4
|
||||||
|
move 2 from 7 to 2
|
||||||
|
move 1 from 3 to 8
|
||||||
|
move 9 from 2 to 6
|
||||||
|
move 2 from 8 to 6
|
||||||
|
move 1 from 7 to 3
|
||||||
|
move 1 from 3 to 5
|
||||||
|
move 3 from 6 to 8
|
||||||
|
move 1 from 8 to 5
|
||||||
|
move 1 from 5 to 9
|
||||||
|
move 1 from 1 to 2
|
||||||
|
move 5 from 4 to 6
|
||||||
|
move 10 from 6 to 2
|
||||||
|
move 5 from 2 to 6
|
||||||
|
move 5 from 6 to 4
|
||||||
|
move 1 from 6 to 3
|
||||||
|
move 6 from 4 to 6
|
||||||
|
move 3 from 2 to 6
|
||||||
|
move 2 from 2 to 3
|
||||||
|
move 11 from 4 to 6
|
||||||
|
move 1 from 9 to 5
|
||||||
|
move 4 from 6 to 7
|
||||||
|
move 1 from 4 to 3
|
||||||
|
move 12 from 4 to 3
|
||||||
|
move 1 from 8 to 6
|
||||||
|
move 9 from 5 to 7
|
||||||
|
move 1 from 5 to 2
|
||||||
|
move 1 from 8 to 5
|
||||||
|
move 1 from 4 to 9
|
||||||
|
move 9 from 7 to 9
|
||||||
|
move 1 from 3 to 4
|
||||||
|
move 2 from 3 to 6
|
||||||
|
move 2 from 5 to 6
|
||||||
|
move 2 from 8 to 5
|
||||||
|
move 11 from 3 to 4
|
||||||
|
move 2 from 3 to 1
|
||||||
|
move 1 from 2 to 3
|
||||||
|
move 1 from 3 to 8
|
||||||
|
move 3 from 7 to 9
|
||||||
|
move 5 from 4 to 2
|
||||||
|
move 2 from 5 to 8
|
||||||
|
move 6 from 4 to 2
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 12 from 9 to 1
|
||||||
|
move 6 from 1 to 6
|
||||||
|
move 1 from 8 to 4
|
||||||
|
move 1 from 8 to 3
|
||||||
|
move 5 from 2 to 7
|
||||||
|
move 2 from 3 to 9
|
||||||
|
move 5 from 7 to 1
|
||||||
|
move 1 from 7 to 5
|
||||||
|
move 2 from 9 to 1
|
||||||
|
move 14 from 1 to 7
|
||||||
|
move 2 from 4 to 7
|
||||||
|
move 7 from 2 to 4
|
||||||
|
move 1 from 2 to 1
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 1 from 5 to 4
|
||||||
|
move 1 from 9 to 6
|
||||||
|
move 16 from 6 to 5
|
||||||
|
move 2 from 5 to 4
|
||||||
|
move 12 from 6 to 8
|
||||||
|
move 10 from 4 to 8
|
||||||
|
move 9 from 7 to 3
|
||||||
|
move 4 from 7 to 6
|
||||||
|
move 11 from 5 to 8
|
||||||
|
move 2 from 5 to 2
|
||||||
|
move 14 from 8 to 9
|
||||||
|
move 1 from 5 to 1
|
||||||
|
move 3 from 9 to 4
|
||||||
|
move 2 from 2 to 1
|
||||||
|
move 7 from 8 to 3
|
||||||
|
move 6 from 3 to 5
|
||||||
|
move 8 from 9 to 8
|
||||||
|
move 1 from 6 to 1
|
||||||
|
move 1 from 4 to 2
|
||||||
|
move 4 from 3 to 8
|
||||||
|
move 1 from 7 to 2
|
||||||
|
move 3 from 1 to 5
|
||||||
|
move 2 from 5 to 7
|
||||||
|
move 3 from 9 to 2
|
||||||
|
move 1 from 1 to 8
|
||||||
|
move 5 from 5 to 4
|
||||||
|
move 2 from 7 to 8
|
||||||
|
move 4 from 2 to 5
|
||||||
|
move 1 from 2 to 4
|
||||||
|
move 2 from 7 to 8
|
||||||
|
move 4 from 6 to 2
|
||||||
|
move 6 from 5 to 3
|
||||||
|
move 1 from 6 to 5
|
||||||
|
move 1 from 5 to 3
|
||||||
|
move 1 from 3 to 8
|
||||||
|
move 8 from 8 to 3
|
||||||
|
move 9 from 8 to 5
|
||||||
|
move 9 from 8 to 2
|
||||||
|
move 2 from 8 to 9
|
||||||
|
move 2 from 3 to 8
|
||||||
|
move 5 from 5 to 8
|
||||||
|
move 1 from 3 to 7
|
||||||
|
move 2 from 9 to 5
|
||||||
|
move 7 from 2 to 4
|
||||||
|
move 14 from 4 to 6
|
||||||
|
move 2 from 2 to 7
|
||||||
|
move 1 from 7 to 3
|
||||||
|
move 1 from 7 to 9
|
||||||
|
move 3 from 5 to 2
|
||||||
|
move 1 from 7 to 1
|
||||||
|
move 3 from 2 to 4
|
||||||
|
move 7 from 8 to 2
|
||||||
|
move 3 from 6 to 1
|
||||||
|
move 17 from 3 to 1
|
||||||
|
move 2 from 8 to 3
|
||||||
|
move 6 from 2 to 7
|
||||||
|
move 2 from 7 to 9
|
||||||
|
move 3 from 6 to 8
|
||||||
|
move 2 from 8 to 6
|
||||||
|
move 4 from 2 to 1
|
||||||
|
move 3 from 4 to 7
|
||||||
|
move 1 from 8 to 7
|
||||||
|
move 1 from 8 to 9
|
||||||
|
move 1 from 4 to 2
|
||||||
|
move 3 from 5 to 7
|
||||||
|
move 2 from 3 to 1
|
||||||
|
move 2 from 3 to 5
|
||||||
|
move 5 from 7 to 4
|
||||||
|
move 5 from 7 to 3
|
||||||
|
move 1 from 4 to 8
|
||||||
|
move 3 from 3 to 1
|
||||||
|
move 6 from 1 to 3
|
||||||
|
move 1 from 7 to 5
|
||||||
|
move 2 from 9 to 2
|
||||||
|
move 3 from 5 to 8
|
||||||
|
move 1 from 8 to 1
|
||||||
|
move 8 from 3 to 5
|
||||||
|
move 1 from 4 to 9
|
||||||
|
move 3 from 6 to 5
|
||||||
|
move 3 from 6 to 3
|
||||||
|
move 2 from 3 to 7
|
||||||
|
move 1 from 4 to 7
|
||||||
|
move 3 from 6 to 4
|
||||||
|
move 2 from 7 to 2
|
||||||
|
move 1 from 7 to 8
|
||||||
|
move 2 from 5 to 4
|
||||||
|
move 1 from 6 to 1
|
||||||
|
move 7 from 4 to 7
|
||||||
|
move 7 from 5 to 2
|
||||||
|
move 10 from 2 to 3
|
||||||
|
move 3 from 2 to 6
|
||||||
|
move 3 from 8 to 1
|
||||||
|
move 1 from 8 to 7
|
||||||
|
move 2 from 6 to 3
|
||||||
|
move 1 from 6 to 9
|
||||||
|
move 4 from 7 to 5
|
||||||
|
move 16 from 1 to 5
|
||||||
|
move 1 from 9 to 7
|
||||||
|
move 3 from 7 to 6
|
||||||
|
move 11 from 5 to 6
|
||||||
|
move 2 from 7 to 9
|
||||||
|
move 12 from 6 to 4
|
||||||
|
move 2 from 6 to 9
|
||||||
|
move 6 from 3 to 2
|
||||||
|
move 1 from 5 to 7
|
||||||
|
move 5 from 9 to 5
|
||||||
|
move 1 from 9 to 6
|
||||||
|
move 4 from 3 to 7
|
||||||
|
move 1 from 4 to 2
|
||||||
|
move 7 from 2 to 5
|
||||||
|
move 3 from 5 to 2
|
||||||
|
move 6 from 5 to 6
|
||||||
|
move 3 from 2 to 6
|
||||||
|
move 9 from 6 to 8
|
||||||
|
move 5 from 5 to 9
|
||||||
|
move 5 from 7 to 1
|
||||||
|
move 4 from 1 to 9
|
||||||
|
move 2 from 9 to 4
|
||||||
|
move 1 from 6 to 7
|
||||||
|
move 9 from 4 to 1
|
||||||
|
move 7 from 5 to 9
|
||||||
|
move 18 from 1 to 3
|
||||||
|
move 9 from 9 to 5
|
||||||
|
move 8 from 8 to 2
|
||||||
|
move 1 from 2 to 5
|
||||||
|
move 4 from 2 to 3
|
||||||
|
move 4 from 9 to 6
|
||||||
|
move 1 from 4 to 8
|
||||||
|
move 2 from 5 to 7
|
||||||
|
move 2 from 9 to 2
|
||||||
|
move 10 from 3 to 9
|
||||||
|
move 5 from 5 to 9
|
||||||
|
move 1 from 7 to 2
|
||||||
|
move 2 from 8 to 7
|
||||||
|
move 2 from 3 to 5
|
||||||
|
move 2 from 9 to 1
|
||||||
|
move 2 from 7 to 3
|
||||||
|
move 1 from 2 to 1
|
||||||
|
move 5 from 5 to 8
|
||||||
|
move 1 from 2 to 1
|
||||||
|
move 15 from 3 to 6
|
||||||
|
move 1 from 7 to 6
|
||||||
|
move 10 from 6 to 5
|
||||||
|
move 1 from 7 to 8
|
||||||
|
move 4 from 1 to 6
|
||||||
|
move 1 from 8 to 3
|
||||||
|
move 2 from 1 to 5
|
||||||
|
move 3 from 8 to 1
|
||||||
|
move 1 from 4 to 6
|
||||||
|
move 1 from 4 to 2
|
||||||
|
move 4 from 9 to 7
|
||||||
|
move 6 from 5 to 7
|
||||||
|
move 3 from 1 to 9
|
||||||
|
move 10 from 6 to 8
|
||||||
|
move 2 from 1 to 3
|
||||||
|
move 8 from 7 to 9
|
||||||
|
move 1 from 9 to 6
|
||||||
|
move 2 from 7 to 9
|
||||||
|
move 3 from 3 to 5
|
||||||
|
move 1 from 2 to 6
|
||||||
|
move 2 from 6 to 5
|
||||||
|
move 5 from 9 to 4
|
||||||
|
move 4 from 8 to 2
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 4 from 5 to 9
|
||||||
|
move 3 from 6 to 1
|
||||||
|
move 2 from 1 to 5
|
||||||
|
move 3 from 5 to 2
|
||||||
|
move 8 from 8 to 3
|
||||||
|
move 11 from 9 to 4
|
||||||
|
move 13 from 4 to 8
|
||||||
|
move 2 from 9 to 2
|
||||||
|
move 2 from 3 to 1
|
||||||
|
move 1 from 4 to 1
|
||||||
|
move 1 from 3 to 8
|
||||||
|
move 2 from 6 to 9
|
||||||
|
move 7 from 8 to 1
|
||||||
|
move 3 from 2 to 5
|
||||||
|
move 7 from 2 to 5
|
||||||
|
move 3 from 4 to 6
|
||||||
|
move 4 from 9 to 2
|
||||||
|
move 2 from 3 to 5
|
||||||
|
move 9 from 5 to 6
|
||||||
|
move 5 from 2 to 7
|
||||||
|
move 2 from 9 to 2
|
||||||
|
move 2 from 9 to 7
|
||||||
|
move 12 from 6 to 8
|
||||||
|
move 5 from 5 to 7
|
||||||
|
move 1 from 9 to 8
|
||||||
|
move 3 from 1 to 6
|
||||||
|
move 5 from 5 to 8
|
||||||
|
move 6 from 1 to 9
|
||||||
|
move 2 from 1 to 5
|
||||||
|
move 1 from 6 to 9
|
||||||
|
move 5 from 9 to 7
|
||||||
|
move 2 from 5 to 8
|
||||||
|
move 11 from 7 to 6
|
||||||
|
move 20 from 8 to 1
|
||||||
|
move 2 from 9 to 8
|
||||||
|
move 4 from 7 to 6
|
||||||
|
move 6 from 8 to 3
|
||||||
|
move 13 from 6 to 9
|
||||||
|
move 4 from 3 to 2
|
||||||
|
move 4 from 6 to 3
|
||||||
|
move 2 from 3 to 6
|
||||||
|
move 5 from 9 to 8
|
||||||
|
move 2 from 7 to 1
|
||||||
|
move 2 from 6 to 9
|
||||||
|
move 6 from 8 to 3
|
||||||
|
move 6 from 3 to 6
|
||||||
|
move 5 from 2 to 9
|
||||||
|
move 22 from 1 to 3
|
||||||
|
move 3 from 2 to 1
|
||||||
|
move 5 from 9 to 3
|
||||||
|
move 1 from 1 to 6
|
||||||
|
move 3 from 6 to 2
|
||||||
|
move 1 from 2 to 4
|
||||||
|
move 33 from 3 to 5
|
||||||
|
move 1 from 8 to 7
|
||||||
51
d5/main.cxx
Normal file
51
d5/main.cxx
Normal file
|
|
@ -0,0 +1,51 @@
|
||||||
|
#include <iostream>
|
||||||
|
#include <fstream>
|
||||||
|
#include <sstream>
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
#include <map>
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
std::ifstream file{"../d5/input.txt"};
|
||||||
|
|
||||||
|
std::vector<std::string> input;
|
||||||
|
std::string line, ignore;
|
||||||
|
while (std::getline(file, line))
|
||||||
|
input.push_back(line);
|
||||||
|
|
||||||
|
const auto it = std::find_if(input.begin(), input.end(), [&](const auto &l)
|
||||||
|
{ return l[1] == '1'; });
|
||||||
|
const int crateVerLen = it - input.begin();
|
||||||
|
const int crateHorLen = input[0].size();
|
||||||
|
std::map<int, std::stack<char>> crates{};
|
||||||
|
|
||||||
|
for (int i{crateVerLen - 1}; i >= 0; i--)
|
||||||
|
for (int j{1}; j < crateHorLen; j += 4)
|
||||||
|
if (input[i][j] != ' ')
|
||||||
|
crates[(j / 4) + 1].push(input[i][j]);
|
||||||
|
|
||||||
|
for (int i{crateVerLen + 2}; i < input.size(); i++)
|
||||||
|
{
|
||||||
|
std::stringstream iss(input[i]);
|
||||||
|
int amount, from, to;
|
||||||
|
iss >> ignore >> amount >> ignore >> from >> ignore >> to;
|
||||||
|
|
||||||
|
std::vector<char> cs{};
|
||||||
|
for (int j{0}; j < amount; j++)
|
||||||
|
{
|
||||||
|
cs.push_back(crates[from].top());
|
||||||
|
crates[from].pop();
|
||||||
|
}
|
||||||
|
for (int j = cs.size() - 1; j >= 0; j--)
|
||||||
|
crates[to].push(cs[j]);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (auto &[_, cs] : crates)
|
||||||
|
std::cout << cs.top();
|
||||||
|
|
||||||
|
std::cout << std::endl;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue