Compare commits
25 Commits
44b07c2f8f
...
master
Author | SHA1 | Date | |
---|---|---|---|
|
bdfb7e1ff3 | ||
|
3f9df3ee38 | ||
|
028097d209 | ||
|
9b26d17786 | ||
|
0ed2beea43 | ||
1e43c1d1b2 | |||
21ebe11abb | |||
|
7789002a2e | ||
5094014b93 | |||
|
1bf812ce9d | ||
bbd18bcfd0 | |||
|
81abf00d17 | ||
812abb8562 | |||
14a148f454 | |||
|
0fc3fcc67b | ||
|
9174bfc690 | ||
da41491861 | |||
594bc3f198 | |||
2af544717c | |||
|
8bfc4fec97 | ||
|
40682f6cb6 | ||
7d2923a6bc | |||
6e5155d169 | |||
|
865bb99c90 | ||
|
12bcda2d22 |
18
aoc.jl
18
aoc.jl
@@ -35,15 +35,29 @@ end
|
||||
|
||||
|
||||
function _run_parts(day)
|
||||
input = _input(day)
|
||||
if "precompile" ∈ ARGS
|
||||
@info "precompilation is on"
|
||||
end
|
||||
if isdefined(Main, :p1)
|
||||
p1_res = @time Main.p1(_input(day))
|
||||
if "precompile" ∈ ARGS
|
||||
i = copy(input)
|
||||
Main.p1(i)
|
||||
end
|
||||
i = copy(input)
|
||||
p1_res = @time Main.p1(i)
|
||||
@info "Part 1: $p1_res"
|
||||
else
|
||||
@info "p1() not defined. skipping..."
|
||||
end
|
||||
|
||||
if isdefined(Main, :p2)
|
||||
p2_res = @time Main.p2(_input(day))
|
||||
if "precompile" ∈ ARGS
|
||||
i = copy(input)
|
||||
Main.p2(i)
|
||||
end
|
||||
i = copy(input)
|
||||
p2_res = @time Main.p2(i)
|
||||
@info "Part 2: $p2_res"
|
||||
else
|
||||
@info "p2() not defined. skipping..."
|
||||
|
2000
data/day_1.txt
Normal file
2000
data/day_1.txt
Normal file
File diff suppressed because it is too large
Load Diff
102
data/day_10.txt
Normal file
102
data/day_10.txt
Normal file
@@ -0,0 +1,102 @@
|
||||
([({<(({<[(<([{}<>])<(()<>){<>[]}>>[[{<>{}}[<>{}]][(<>[])<{}<>>]]){[{{[][]}[[]{}]}({{}[]}[{}<>])]({({}{})
|
||||
([{{[(<{[{{<[{{}[]}{(){}}]{[{}{})([]())}>}(({{{}}{<>{}}}{(()[])(()<>)}){<<{}()><[][]>>})}(<<<(<
|
||||
((<[[<([[({{[([]{})([][])]{({}())(()}}}({[[][]](()<>)}(<[]{}>[[]{}]))}<[[{()<>}<[][]>]]{{{
|
||||
{{[{{<[{[[(<((<>())(<><>))<<()[]>>>)<<<(<><>)[()()]><([])<[]>>>{{({}()){[][]}}<[[]]>}>]]<[
|
||||
[<{(<{<<[[[[(<{}()>{{}()})[[()()]<{}()>]]{{<<><>>({}<>)}(([]{})[{}<>]}}]{{({[]<>}{[][]})<[<>[]]<{}()>>}[{
|
||||
<<{<{<<{<<[(([<>()][<>{}])[<()<>>{()[]}])[<({})<<>[]>><<[][]>[[]<>]>]]>>((<<<(<>[])[{}{}]>[<[]{}>({})]>>)<
|
||||
<[[[(<{[{((<{(()[])[{}<>]}([[][]][()<>])>[(<[]())<<><>>){({}{}){<>[]}}]))}]}>{<([<<[<(()<>)
|
||||
({{{<<<{({[{[<()[]>({}())]{<{}()>({}{})}}]{([(<>)<[]<>>]{([]<>)(()())})(<<<><>>{{}{}}>[({}{})<()
|
||||
{{<<[<[{<(({{({}<>)<<>()>}{{{}<>}}}{<({}())({}<>)>([<><>]{()[]})}))<[<{<[]{}>([][])}((<>())({}[]
|
||||
[[<([({<<<<{<{<><>}{()<>}>}>{(([[]{}>[{}()])[[[][]]])(<[[]<>](())>(<()[]>({}<>)))}>{<[<{{}{}}
|
||||
<<<[[(<[<<<{([{}[]]<[][]>){{(){}}[<>{}]}}><([{<><>}<[]()>]<[[]()]<{}{}>>)>>{(<[[(){}]](<<>()>[<><>]
|
||||
<<[<[<{[<[(<[<()[]>]{[{}[]][[]<>]}>)[{{[()()]{{}()}}{{<>}{{}<>}}}<{(()[]]{[]<>}}([<>()]<[]()>)>]]><{{<
|
||||
([([(<([((<{<[[][]](()[])}{<[]()>[<>[]]}}{({(){}}[{}[]]){{<>[]}[()[]]}}>[<({[]()}<()<>>)(<[]{}>([])
|
||||
<<{{([<<[{({[<{}[]>{()()}](<<>()>)}[[<()<>>{{}{}}]((<>[]){[][]})])([{((){}){[]{}}>{[{}{}]<()<>>}
|
||||
[(<[[<{({{{{{{<>()}([]{})}([()()])}([[()()]([])](<<>()>({}[])))}[{[[()[]][()()]]{[{}<>]}}<{({}())<[]{}>}<<<>[
|
||||
[({{{[(<{[[(<[<>[]]<[]()>>{{[]<>}})]<{([[]<>]([][])){{()()}{{}{}}}}>]}{{{[<({}())>(([]()){
|
||||
<({([<[([<<(<<<>{}>>[{<>[]}])>><<<(((){})[<>{}])<(()[])<{}<>>>>>([[[()][()]]])>]{<([<{[]<>}[{}<>]>]<{[()
|
||||
[([[{<({(([[{{{}<>)[[]()]}(({}<>)[{}{}])]]<<{({}<>)(()())}>{[[(){}]({}[])]<{{}{}}>}>)<{([[
|
||||
<(<<[{<<((<(<{<>[]}>[([]{}){<><>}])[{([]<>)(<>[])}(<()[]><[]<>>)]>))><[(<[([<>[]]<<>[]>){<()()}<{}>}
|
||||
<{{<([<{[{({({<><>}({}()))<({}<>)<(){}>>}[(<(){}>[{}<>])<(<>[])([]())>])}[[{({()<>}({}<>)){(<>())<{}
|
||||
[[(<({{<(({[{<()[]>{()[]}}]<[<()[]>{<>[]}]{{()[]}[{}{}]}>}(({({}<>)[[]{}]}[[[]()](()<>}])({{{}{}}}
|
||||
({<<[[[<<[(<([()()]{(){}})>)]((([<()><(){}>]<{[]<>}[[]]>)<(<[]<>>(<>[]))>)({[(<><>)[<>]]{<()
|
||||
{[((<{{{<(<<{{()()}}<({}<>)<[]<>>>}{{<(){}><<>[]>}{[<>{}]<()<>>}}>{<[([])<(){}>]><{[()<>](<>{})
|
||||
({([{<<(<{[[{[{}()][()[]]}([()[]]((){}))]<([<><>}{{}<>}){<[]<>>(<>[])}>]}[<[({(){}}(<>()))]>]><<({({<>{}
|
||||
[<{([<{({{<[<<()[]>[(){}]>{{{}()}(<>[])}]>[{((<>{})<{}{}>){<{}[]>}}[(([]<>)(<>[])){({}())[{}<>]}]]}<[[[{{}()}
|
||||
([{{({{{[(<(({<>{}}<[]<>>))((<<><>>){<{}>{<><>}})><<[([][]){{}()}]([[]<>])><({()<>}[[]{}])<({
|
||||
(([[<[[[([<<(<<>()>{(){}})<([]())<<>[]>>>{[<<><>>[[]]]}>])({({[<[]{}>]<[(){}][[]()]>}([<[]()>[()
|
||||
(<[[<[({(({[{[[]()][[]()]}]}(<[(()<>)[<>]]{(()())[<>{}]}><{([]{}){{}()}}>)))})({[[<[[<<>()>(()())]{<()[]
|
||||
[[([<<[[<<<((((){}){{}[]}){<{}<>><{}{}>}){{<{}[]>[<>[]]}(<{}>(()()))}>[(<(<>{}){{}()}>(([])<()>)}<(<<>()>)<{[
|
||||
{({{[[({{{{<({[]()}<[][]>)>}{(({[][]}[()<>])<<[]{}><[]()>>)<([[]](()()))[{[]<>}(()[])]>}}}}((
|
||||
{[(([({[[(<{([[]][[]<>])<<<><>>[{}{}]>}{<({}{}>{{}()}>{(<>{})[[]<>]}}>)((([{{}()}({}[])])[[{<>{}}]([()()])]
|
||||
[[{(((<(<<<((((){})[()()])<[()()]{[]<>}>)>><<{([[]{}])}>[{({<>{}})((<>{})<[][]>)}({([][])[<
|
||||
{({{<[<{(([[<<<>{}><()<>>>{(()())([][])}]{{{(){}}[()<>]}(<<><>>{[][]})}]{[<[[]{}]<{}()>>((<><>)(()()))]<(<()<
|
||||
<[({(<[{(<([<<<><>>>{{()[]}<[]>}]<[(<>{})({}<>)]((()[]){[]{}})>)<<[[()()]]{<[]<>>(()())}>>}<[{([<>()]<(
|
||||
<([<{[(((<((<{[]<>}<[]<>>>{<(){}>}))([[{<><>}{<>{}}]])>)(([[[({}())<<><>>][<<>[]>(<>())]]<<<<>{})[[]
|
||||
<{<{[(<<[<<{{{()<>}(()[])}((()[]){(){}})}>[{({<>()}[[]<>])[{{}()}<()[]>]}{([()<>][[]{}]][[{}<>][(){}]
|
||||
{([[{<({{[[{<<{}{}>{[]}}[(()<>){{}<>}]}(({[][]}{[]<>})[(<>)[()()]])]](<(<{()()}[<>]><[<>()]>
|
||||
({<[[([{[{({[<()()>[<>{}]]{[<>[]]<{}<>>}})}[([<{[]}<<>{}>>[([]<>)]][[([]())<<><>>]])]]}])]{<([({[(
|
||||
{{{{[[[{[[{(({[]()})){{(()[])<[]<>>}{<()[]>(<>())}}}]<{{<[<><>][{}()]>}[<{[][]}(<>[])>({[]()}
|
||||
[<{{([(<<{[<[[{}()]]<{{}<>}<[]()>>>[<<()<>>[<>[]]>]][[{<<>()>[(){}]}[<{}>{{}{}}]](((()>{{}}){[[]<>][
|
||||
[(<((({(<{<(({[]{}}(<><>))({{}()}{{}<>}))[<[<>()][[]()]><{{}[]}([][])>]>((<[[][]]>({{}()}<[]
|
||||
<[{{<[({{<(<<<{}<>>{(){}}>{{<><>}{{}()}}){([{}[]](()[]))[{{}<>}[<><>]]})(<[[{}<>]{(){}}]<{()[]}[<><>]
|
||||
<<({{[(({<{{{((){})<()()>}{[<>{}]{{}<>>}}{({()<>})[([][])<{}[]>]}}[{{{()<>}<[]()>}[<[]{}>{[]{}}]}[[[()[]]][({
|
||||
{{[[([([[{<<{[[][]]}>{<<<><>>{()[]}>{[{}()][{}{}]}}>}][[<([{<>[]}{<>()}]{{()<>}({}[])>)(<<[]{}>{[]<>}
|
||||
[[(<<{<[<[[<({<>[]}([]<>)}{<()()>}>]]{{<([(){}]{<>()})<[[]()][(){}]>><{<[]()>[<><>]}{(<>[])(()[])}>}}>[{
|
||||
<([{{<<{<({[<[{}<>][{}()]>[[()[]]{{}{}}]]<({[]<>}([][]))([(){}](()<>))>}<<({<><>}<<>()>)>>){[[([()<>]<{}
|
||||
{<<[[[[{<(<[[(()())<(){}>](<()[]><[]<>>)]<(<()[]>[<>[]])(<{}[]>({}{}))>><{(([]{})[<>()])<<{}[]>>}>)<({<{{}{}}
|
||||
<(({{([{{<([({()()}{{}{}})({[]<>}{<>[]})][(({}()){[]{}})({[]{}})]){<([<>]{<><>})[{{}[]}]><[
|
||||
[[{<<<<[<(<<<<[][]>(<>()]>{[<>()]{(){}}}>>{[<<{}()><<>()>><{[]()}{{}[]}>]<(<{}[]><<>()>)({[][]}([]{
|
||||
{[([(([[{{{[{{<>[]}}(<[]{}>)]>(((<{}{}><(){}>)([[]{}]))(<[{}{}]{{}()}>{[[][]][(){}]}))}}]](<(((<{<<
|
||||
<{{([[((({{[[[[]<>]<<>{}>][{()<>}{(){}}]]}[<<<[]<>><<>[]>>>]}<{[(<<>[]>(<>{}))[<{}()>(<><>)]]([{{}[]}{{}[
|
||||
[<[[{{([<<<{{[(){}](<>[])]<<(){}>{{}[]}>}<[{()<>}{<>[]}][<{}>[[]]]>>{[[({}())]<<<><>>>][({{}[]}
|
||||
[[(<[{[(({{[<<<><>><{}()>>{({}[])<<>{}>}}}}[[[<[()()]<{}()>><((){})(()[])>]]{[{{<><>}<()[]>}[({}<>)<[][]>
|
||||
({{[[<([<[{<[([]<>){[][]}]<((){})<<>[]>>><<<{}<>>[()<>]><{<>{}}{<>[]}>>]](([[(()<>){(){}}]<[<><>][{}{
|
||||
{([([<{([{[[[{[][]}<()[]>]](<<<><>>>{<<>()>({})})]}[(<<[{}[]][[]()]>[<[]<>>([]<>)]>)<{[<()(
|
||||
<(({[[<{{{[({(<>){{}[]}}[({}()){[][]}])[[{()()}<[][]>][<()<>>([]<>)]])}{[<[(<>{}){()}][(()()){[]<>}]>(([
|
||||
[<<[[<([([[[([[]<>]<<>{}}){<[]{}>[{}<>]}]((({}{})){{[]<>}([][])})](([((){}){{}{}}]){({{}[]}<{
|
||||
[[{{<{[<<[({<<()()>[[]<>]>[(()<>){()()}]}[<<{}<>>([]())>{<()[]>[{}<>]}])]><[{{{{[]<>}(<>())}[(()())([
|
||||
{<([{{(<<{([{<()()>{<>[]}}]{((()[])([]()))})}>{(<({<{}<>>}{[[][]](<>[])})><{<[<>]>[{()[]}{()[]}]}{{
|
||||
({(<{<{[{<{{([()[]]([]{}))[(()){[]{}}]}({{[][]}([][])})}<<<(<>[])[[]{}]>{[<>()](()())}><<[
|
||||
{[[<[<<[[{({{{[][]}<[]()>}}([{[][]}(()<>)][[<>()](()[])]))}([[({{}<>}(()[])){{[]()}(<>{})}][{
|
||||
<{[({{[{[[[<<({}[])<()>>(({}{})[[]()])>]<({(()<>)]<[()[]]>)[(((){})){((){}){<>[]}}]>]]}][{[[[(<
|
||||
(<(<{(<{{[{{{[<><>][[]]}}{(((){})[<>{}])}}{{{<[]()><(){}>}(<[]>{()()})}[<([]<>)>]}]}[<((({(){}}<
|
||||
{<(((([[{{[<{[()[]]{<>[]}}[<{}<>>{()()}]>](([<[]{}>[{}{}]]{{()[]}{(){}}})<{({}[])[{}<>]}({<>[]}({}()))>
|
||||
[<<(<({[[<{([[<>{}]<{}<>>]{{<>{}}[[][]]})<(<(){}>{[]{}}){([]())[()()]}>}[<({<><>}[<>{}])[(<>())[<>{}]]
|
||||
(<{<{[[<(((<[{<>()}<{}()>]><[[[]{}]]({(){}}{<>()})>){<<[[]()]{<>[]}>>[[<<>[]><{}[]>][{[]{}}
|
||||
({[{(([[([[[[{()[]}]][{[()]}({[][]}([][]))]](<{<{}[]>((){})}{[()<>]<{}[]>}>[(([][]){[]<>})[(<>()
|
||||
{[{((<{<{[<[{[<><>](()())}]>(<(<()()>)>{(([])<[]()>)<<()<>>[<>[]]>})]([<([<>[]](<><>))((<><>))>])}
|
||||
<[<[[<<<{[[{((<>{})[<>()]){[<>[]]<{}<>>}}(<[(){}]{{}()}>{({}{}){{}{}}})]]([[[[()()](()[])][{(){}}(()()
|
||||
([{<[{<{<{<<<(())[<>()]>[<<><>>]>(<[<><>]<{}<>>><{{}{}}[()[]>>)>[<[[<>()][[]{}]]<[()()][<>[]]>>(<({}[])<{
|
||||
{[[{<{<<<(<[<(()())[<>[]]><[()[]]>>[<[(){}]<<>[]>>{<{}{}>[()<>]}]>)>>><<<[(<[<{}()>[<>()]]
|
||||
(<[[(({<<[((<(<>())>[[[]()]([])])<{[<>()]{<>[]}}[<<>[]>]>)(<<[<>{}]<[]()>>>[{{[]{}}<()<>>}{(
|
||||
{{<<[<<<[[{{{<<>()>(<>())}[<<>()><[]<>>]}<(<<>()>{(){}}){<<>()>}>}[<{(<>[]){{}<>}}[{(){}}[(){}]]>{
|
||||
([{<(<[{[([(<{{}[]}((){})>[<<>()>[()[]]])]({<([][]){{}<>}>})){[{({[]{}}([]<>))<[[]<>]>}]}]}[<[{[<[<>
|
||||
(<{{([<<<{([[<()>([]<>)]<[[]{}]>]){({<<>()><<>()>}[[[]<>><[]>])<{([])[[]<>]}<<<>{}>{[]()}>>}}><[(({{{}()}
|
||||
<{<<[[([(<(({[<>{}]<<>[]>}[([][])[[]()]])[{<<>[]}{[]()}}{[()()]([][])}])>[(<({<>[]}<(){}>)<<()<>>[[][]]
|
||||
((<([[[<<{{[<(()())>]}}[{<<{{}{}}{()[]}>{{<>{}}}>{([[]{}][()<>])({(){}}<<>[]>)]}{<<<<>()>><<(){}>{{}[]}
|
||||
[<<<{<{[[{{<<[[]](()[])>{({}{})[{}()]}>[([{}]([]())){(()[])<{}<>>}]){[{{[]}[[]]}<{[]{}}<()()>>]}
|
||||
[[(<((<{[<<[[[(){}]<()()>]{(<><>)[<>[]]}]>((<{()<>}[<>[]]>((()())<{}[]>)))>[([<<{}<>>({}[])>((()<>){[][
|
||||
[<(<(({[{<<<[({}[])[[]()]]>{<<<><>>[()()]><[[]()]{<><>})}>[[<([])(<>)>{[(){}](<>{})}][{[[]()][{}<>]}<
|
||||
([<{[{((<[([({{}[]}[{}[]])<{[]{}}<<><>>>]{<(<>{})[<><>]>({[][]}<()<>>)})[<(<{}[]>({}{})){{[]()}}>(
|
||||
[<[<({<({((<[{[]<>}({}{})](<{}()>{[]()})>{{[[][]][()()]}([[]()]([]{}))}){[<[[]()]>[<[]()>{()<>}]]})}<[[{{<[]
|
||||
<{[[[[[{(<((<{[]{}}({}[]]>(<()[]>))){[({<>[]}{{}()})<[[][]]<[]<>>>][{{()[]}(()<>)}{(<>{})<[]<>>}]}>({[([
|
||||
[(([[<[{<[[<{{()<>}[<>()]}(({}()){()<>})>]]<[{{{()[]}{<><>})[{[][]}]}]>>[[[{[{()<>}[<>()]]({
|
||||
([[([([<{{((([<><>]){[<>{}](()[])}){<<<>()>[{}()]>})[[<[{}()]([]{})>]]}{[{{([]()){(){}}}(<{}{}>)}{[<
|
||||
{{{{(<[(<(<[{([][])[<>()]}<{{}()}>][<(<><>)<[]<>>>{{<><>}[()()]>]>([({[]()}(()[]))[({}[])((){}
|
||||
<[<<<<({<[[{(<{}()>[[]])}]{<([{}()]>{<{}<>>[[]<>]}><(([]()){[][]})[(<>()){<>[]}]>}]({{<<()<>>(<>())>[({}
|
||||
[{(<<([[{(<{<[()[]][<>]>[{<>[]}<()[]>]}>[([{[]<>}{()<>}])({(<>())}{<{}[]>{[]()}})]){([[<[]<>>{{}{}}]([[]{}][[
|
||||
<[(<<<<<<{{([[<>()]{{}()}]<({}[])({}<>)>){{[[]<>]({}[])}}}({<(<>())(<>())><([]){[]<>}>})}{{(<({}{}
|
||||
[[<[{{<<<([[<{<><>}<()<>>>{{()}({}{})}]{[<{}[]>{[]{}}][{<><>}(<><>)]}](({<<>()>})[<<[][]>[<>()
|
||||
[[{<{((<((<([<[]<>>(<>())])(<[{}[]][()<>}>(((){}){[]()}))>[{(<<>[]>{<><>}){<(){}>}}[<(()[]){()}>]]){(({{{}[]}
|
||||
(({{{[{([<[<[{()()}][(()[])(<>())]>{{<[]<>>{[]()}}{[<>[]]<{}()>}}]<([{()()}<(){}>]{[<>[]}<()<>>})>>([<<{{}[]
|
||||
{<<({<[({{{(<({}{})<[]()>><({}[]){()[]}>)(((()<>)<{}{}>)({<>()}({}[])>)}{({<{}{}>{(){}}}(<[]{}>{<
|
||||
<<[<{<<[<{([([{}[]][(){}]){([]())[{}()]}])}>{{([{[()()]<[][]>}[({}[])((){})]]{({[]{}}[[]<>]){(()())({}[]
|
||||
[[({<{[(({<({<<>{}><[]{}>}[({}()){<>[]}])>})[[<([<[]>[{}<>]][([]{}){[]}])>(<[[<>()}{<>{}}][{()[]
|
||||
{[<[[[{[<[{{<{{}<>}{<>[]}>{([]<>){{}{}}]}}<{((<>{})[()()]){{<>()}<{}[]>}}<<<<>[]>>{[()[]][{}{}]}>>]{[({{<>()}
|
||||
[([[<<[([[<[{[<><>][()<>]}[[[]<>]<{}>]](([[]<>]<<>{}>))>(<{<[][]>{{}()}}{[[]()]{<>[]}}>[[<()<>>({}<>)]]
|
||||
[{<(({<[<[[[[{<>[]}]]([{()<>}<()[]>]([[]<>]<<><>>))][{<{[]}{[][]}>[[<>{}]<[][]]]}<[(<><>)[<
|
||||
<[[<{<<<(([([[{}{}](()<>)][([]<>)[<>()]])][<<({}())[[][]]>>])<<<[({}<>){()<>}]>[[[(){}][[]]]<<()<>>}]>[<(<<>{
|
||||
(({{((<{[{({(([]{})<()>>{{{}()}([]<>)}}){<((<>())(())){<()()>([]())}>}}[{(<<<>{}>>[<(){}>{()<>}])}
|
||||
<[<[(([{<[{(<<<>()>[{}<>]><<<>()>[{}{}]>)<({[]{}}[{}[]])[[()<>]({}<>)]>}<[<{[][]}<[][]>>[<<><>>]][{({}[])
|
||||
{[{<[([[[[({{[{}{}]{[]()}}<([][])[[][]]>}{({<>()}(<>[]))[({}<>)[<>{}]]})]]]{{{{[[[{}[]](()<>)][
|
10
data/day_11.txt
Normal file
10
data/day_11.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
4781623888
|
||||
1784156114
|
||||
3265645122
|
||||
4371551414
|
||||
3377154886
|
||||
7882314455
|
||||
6421348681
|
||||
7175424287
|
||||
5488242184
|
||||
2448568261
|
22
data/day_12.txt
Normal file
22
data/day_12.txt
Normal file
@@ -0,0 +1,22 @@
|
||||
ax-end
|
||||
xq-GF
|
||||
end-xq
|
||||
im-wg
|
||||
ax-ie
|
||||
start-ws
|
||||
ie-ws
|
||||
CV-start
|
||||
ng-wg
|
||||
ng-ie
|
||||
GF-ng
|
||||
ng-av
|
||||
CV-end
|
||||
ie-GF
|
||||
CV-ie
|
||||
im-xq
|
||||
start-GF
|
||||
GF-ws
|
||||
wg-LY
|
||||
CV-ws
|
||||
im-CV
|
||||
CV-wg
|
789
data/day_13.txt
Normal file
789
data/day_13.txt
Normal file
@@ -0,0 +1,789 @@
|
||||
103,224
|
||||
624,491
|
||||
808,688
|
||||
1076,130
|
||||
700,26
|
||||
55,794
|
||||
119,724
|
||||
773,809
|
||||
875,33
|
||||
922,135
|
||||
509,260
|
||||
801,176
|
||||
1143,85
|
||||
619,526
|
||||
1250,138
|
||||
753,431
|
||||
1260,654
|
||||
276,457
|
||||
637,718
|
||||
1183,115
|
||||
284,137
|
||||
539,757
|
||||
279,85
|
||||
1128,474
|
||||
406,469
|
||||
1086,170
|
||||
927,673
|
||||
310,702
|
||||
35,796
|
||||
268,892
|
||||
202,249
|
||||
820,878
|
||||
992,121
|
||||
339,649
|
||||
1275,796
|
||||
1113,290
|
||||
336,616
|
||||
522,471
|
||||
755,764
|
||||
631,204
|
||||
241,393
|
||||
455,546
|
||||
1165,176
|
||||
304,276
|
||||
855,859
|
||||
582,380
|
||||
437,9
|
||||
944,400
|
||||
199,770
|
||||
124,473
|
||||
522,423
|
||||
167,85
|
||||
606,493
|
||||
1158,688
|
||||
1186,473
|
||||
981,54
|
||||
790,507
|
||||
704,493
|
||||
788,362
|
||||
971,201
|
||||
512,889
|
||||
758,810
|
||||
1101,770
|
||||
325,840
|
||||
734,873
|
||||
725,586
|
||||
416,105
|
||||
1183,365
|
||||
1233,725
|
||||
698,256
|
||||
418,112
|
||||
520,507
|
||||
276,773
|
||||
634,185
|
||||
483,693
|
||||
612,256
|
||||
651,603
|
||||
1225,53
|
||||
1268,759
|
||||
35,339
|
||||
311,474
|
||||
984,592
|
||||
1237,770
|
||||
1093,129
|
||||
755,639
|
||||
671,278
|
||||
788,471
|
||||
430,810
|
||||
693,231
|
||||
281,227
|
||||
454,178
|
||||
1,54
|
||||
1290,499
|
||||
619,407
|
||||
1081,575
|
||||
1252,266
|
||||
1186,421
|
||||
698,638
|
||||
1218,561
|
||||
954,763
|
||||
692,402
|
||||
923,532
|
||||
281,631
|
||||
222,777
|
||||
1047,316
|
||||
1109,215
|
||||
513,824
|
||||
771,645
|
||||
802,640
|
||||
769,471
|
||||
42,256
|
||||
619,80
|
||||
913,425
|
||||
340,68
|
||||
397,833
|
||||
539,137
|
||||
1136,654
|
||||
515,18
|
||||
507,247
|
||||
1274,402
|
||||
970,364
|
||||
913,362
|
||||
328,410
|
||||
775,404
|
||||
164,16
|
||||
356,763
|
||||
545,353
|
||||
790,506
|
||||
780,46
|
||||
378,569
|
||||
276,437
|
||||
878,777
|
||||
159,613
|
||||
313,137
|
||||
377,418
|
||||
134,22
|
||||
483,14
|
||||
1207,670
|
||||
1238,738
|
||||
528,268
|
||||
913,761
|
||||
1009,501
|
||||
1217,805
|
||||
865,361
|
||||
460,801
|
||||
358,715
|
||||
857,775
|
||||
552,842
|
||||
771,197
|
||||
627,40
|
||||
765,577
|
||||
1071,704
|
||||
862,638
|
||||
811,686
|
||||
219,413
|
||||
904,425
|
||||
728,738
|
||||
1020,588
|
||||
1240,225
|
||||
619,78
|
||||
611,180
|
||||
610,474
|
||||
388,135
|
||||
957,582
|
||||
194,43
|
||||
1027,842
|
||||
917,864
|
||||
537,770
|
||||
831,26
|
||||
1240,669
|
||||
1034,582
|
||||
1210,49
|
||||
1036,282
|
||||
1217,537
|
||||
271,100
|
||||
537,691
|
||||
584,290
|
||||
224,618
|
||||
1111,546
|
||||
610,26
|
||||
726,221
|
||||
1053,509
|
||||
1295,278
|
||||
1094,859
|
||||
725,245
|
||||
552,52
|
||||
981,168
|
||||
448,190
|
||||
905,64
|
||||
700,126
|
||||
132,179
|
||||
930,648
|
||||
692,189
|
||||
659,291
|
||||
1027,852
|
||||
984,78
|
||||
318,121
|
||||
1026,757
|
||||
889,385
|
||||
184,596
|
||||
746,50
|
||||
850,93
|
||||
233,173
|
||||
234,130
|
||||
201,679
|
||||
290,588
|
||||
510,0
|
||||
284,869
|
||||
939,628
|
||||
147,303
|
||||
1265,78
|
||||
445,361
|
||||
763,477
|
||||
1250,586
|
||||
1178,715
|
||||
282,196
|
||||
1290,617
|
||||
719,191
|
||||
460,93
|
||||
932,325
|
||||
529,343
|
||||
112,829
|
||||
967,567
|
||||
43,714
|
||||
545,541
|
||||
541,423
|
||||
612,759
|
||||
1262,196
|
||||
473,522
|
||||
878,117
|
||||
512,596
|
||||
182,446
|
||||
783,529
|
||||
797,70
|
||||
768,65
|
||||
477,270
|
||||
552,810
|
||||
373,227
|
||||
502,682
|
||||
378,121
|
||||
430,724
|
||||
592,565
|
||||
180,254
|
||||
145,718
|
||||
184,298
|
||||
748,354
|
||||
127,147
|
||||
845,400
|
||||
951,485
|
||||
393,260
|
||||
898,357
|
||||
480,667
|
||||
541,871
|
||||
507,199
|
||||
1267,714
|
||||
407,406
|
||||
288,494
|
||||
152,654
|
||||
827,14
|
||||
1028,698
|
||||
1000,192
|
||||
549,169
|
||||
490,211
|
||||
1111,592
|
||||
535,404
|
||||
26,854
|
||||
372,126
|
||||
455,859
|
||||
236,340
|
||||
716,808
|
||||
387,532
|
||||
1101,361
|
||||
857,119
|
||||
999,420
|
||||
276,878
|
||||
373,417
|
||||
923,670
|
||||
92,729
|
||||
179,703
|
||||
619,555
|
||||
455,348
|
||||
668,266
|
||||
674,217
|
||||
1139,880
|
||||
442,530
|
||||
1042,2
|
||||
594,586
|
||||
890,354
|
||||
13,757
|
||||
698,759
|
||||
268,677
|
||||
1125,276
|
||||
314,826
|
||||
1210,889
|
||||
207,42
|
||||
691,78
|
||||
241,277
|
||||
42,638
|
||||
176,82
|
||||
445,891
|
||||
315,649
|
||||
1081,95
|
||||
880,810
|
||||
782,268
|
||||
472,229
|
||||
2,826
|
||||
769,23
|
||||
974,616
|
||||
898,537
|
||||
102,674
|
||||
604,374
|
||||
415,480
|
||||
1154,453
|
||||
1110,14
|
||||
798,695
|
||||
562,333
|
||||
336,809
|
||||
254,508
|
||||
412,313
|
||||
271,221
|
||||
763,171
|
||||
883,255
|
||||
992,773
|
||||
999,327
|
||||
818,36
|
||||
1081,215
|
||||
974,278
|
||||
1274,588
|
||||
808,234
|
||||
373,477
|
||||
43,42
|
||||
552,674
|
||||
609,816
|
||||
440,486
|
||||
1081,679
|
||||
105,723
|
||||
281,667
|
||||
865,96
|
||||
574,442
|
||||
290,140
|
||||
1289,294
|
||||
338,682
|
||||
299,264
|
||||
1268,638
|
||||
1154,5
|
||||
42,759
|
||||
999,474
|
||||
502,688
|
||||
35,787
|
||||
452,400
|
||||
1116,679
|
||||
571,684
|
||||
420,781
|
||||
1056,396
|
||||
1309,467
|
||||
1238,193
|
||||
1287,204
|
||||
448,638
|
||||
418,844
|
||||
832,82
|
||||
1053,385
|
||||
1290,395
|
||||
1101,768
|
||||
1027,42
|
||||
1146,858
|
||||
768,787
|
||||
716,674
|
||||
765,541
|
||||
504,82
|
||||
512,471
|
||||
1206,565
|
||||
691,80
|
||||
391,764
|
||||
1208,514
|
||||
1,427
|
||||
23,690
|
||||
994,212
|
||||
837,522
|
||||
1265,750
|
||||
209,320
|
||||
952,715
|
||||
999,687
|
||||
329,726
|
||||
1233,85
|
||||
126,626
|
||||
117,462
|
||||
803,143
|
||||
652,712
|
||||
142,298
|
||||
582,50
|
||||
370,309
|
||||
20,838
|
||||
903,488
|
||||
380,515
|
||||
681,536
|
||||
1128,446
|
||||
291,75
|
||||
502,206
|
||||
70,673
|
||||
233,721
|
||||
127,81
|
||||
99,255
|
||||
765,765
|
||||
102,871
|
||||
388,51
|
||||
612,135
|
||||
763,723
|
||||
387,425
|
||||
639,278
|
||||
1191,180
|
||||
728,514
|
||||
607,869
|
||||
199,302
|
||||
699,282
|
||||
420,354
|
||||
823,64
|
||||
527,747
|
||||
405,64
|
||||
564,50
|
||||
35,526
|
||||
524,334
|
||||
913,61
|
||||
542,667
|
||||
582,722
|
||||
492,36
|
||||
765,353
|
||||
1074,340
|
||||
840,450
|
||||
875,400
|
||||
937,477
|
||||
2,264
|
||||
1146,260
|
||||
1027,714
|
||||
1101,320
|
||||
182,474
|
||||
801,767
|
||||
1260,381
|
||||
72,253
|
||||
195,73
|
||||
390,497
|
||||
1056,508
|
||||
107,275
|
||||
753,504
|
||||
699,180
|
||||
890,540
|
||||
894,105
|
||||
509,270
|
||||
530,249
|
||||
378,94
|
||||
50,65
|
||||
870,486
|
||||
1029,667
|
||||
728,840
|
||||
974,809
|
||||
803,751
|
||||
92,354
|
||||
749,509
|
||||
1198,206
|
||||
144,0
|
||||
290,208
|
||||
1195,249
|
||||
470,647
|
||||
1233,809
|
||||
801,270
|
||||
874,793
|
||||
903,406
|
||||
310,192
|
||||
1109,551
|
||||
806,812
|
||||
1069,841
|
||||
1161,158
|
||||
1044,311
|
||||
1168,23
|
||||
542,227
|
||||
1268,361
|
||||
1166,446
|
||||
421,385
|
||||
782,432
|
||||
478,82
|
||||
1034,885
|
||||
1154,217
|
||||
216,859
|
||||
677,497
|
||||
372,660
|
||||
806,82
|
||||
612,704
|
||||
483,201
|
||||
820,260
|
||||
933,418
|
||||
873,885
|
||||
744,789
|
||||
147,143
|
||||
594,220
|
||||
45,144
|
||||
1268,135
|
||||
699,119
|
||||
383,221
|
||||
27,854
|
||||
328,352
|
||||
499,880
|
||||
1298,75
|
||||
437,317
|
||||
102,52
|
||||
1184,432
|
||||
996,826
|
||||
448,25
|
||||
1211,764
|
||||
987,165
|
||||
913,133
|
||||
35,595
|
||||
271,436
|
||||
1036,155
|
||||
1255,624
|
||||
1287,690
|
||||
1298,714
|
||||
492,688
|
||||
827,693
|
||||
1129,521
|
||||
1028,196
|
||||
1176,388
|
||||
654,190
|
||||
967,106
|
||||
340,364
|
||||
201,215
|
||||
59,670
|
||||
495,606
|
||||
768,227
|
||||
576,873
|
||||
746,844
|
||||
618,82
|
||||
1238,253
|
||||
387,84
|
||||
50,325
|
||||
631,690
|
||||
705,418
|
||||
937,711
|
||||
1207,152
|
||||
152,682
|
||||
768,829
|
||||
528,686
|
||||
716,220
|
||||
1183,141
|
||||
277,866
|
||||
35,487
|
||||
44,749
|
||||
798,889
|
||||
705,476
|
||||
326,816
|
||||
1251,224
|
||||
1310,381
|
||||
1109,343
|
||||
1211,255
|
||||
60,138
|
||||
1081,103
|
||||
659,603
|
||||
214,65
|
||||
835,703
|
||||
1290,838
|
||||
534,645
|
||||
539,249
|
||||
1074,50
|
||||
406,425
|
||||
209,768
|
||||
652,182
|
||||
512,838
|
||||
316,212
|
||||
820,16
|
||||
35,147
|
||||
985,691
|
||||
604,65
|
||||
407,488
|
||||
811,880
|
||||
1193,432
|
||||
937,675
|
||||
344,416
|
||||
400,325
|
||||
1145,168
|
||||
868,530
|
||||
769,871
|
||||
1298,404
|
||||
134,388
|
||||
1039,436
|
||||
1033,812
|
||||
681,393
|
||||
517,337
|
||||
582,844
|
||||
725,201
|
||||
1012,187
|
||||
480,675
|
||||
654,704
|
||||
1275,144
|
||||
115,249
|
||||
12,588
|
||||
1028,644
|
||||
306,220
|
||||
326,592
|
||||
671,431
|
||||
97,431
|
||||
1146,16
|
||||
380,648
|
||||
955,686
|
||||
604,325
|
||||
119,842
|
||||
1086,618
|
||||
1309,54
|
||||
562,540
|
||||
1146,464
|
||||
996,523
|
||||
311,327
|
||||
758,471
|
||||
92,281
|
||||
671,655
|
||||
550,565
|
||||
125,103
|
||||
699,404
|
||||
228,752
|
||||
1298,371
|
||||
576,649
|
||||
552,380
|
||||
1260,513
|
||||
821,427
|
||||
783,141
|
||||
0,78
|
||||
683,40
|
||||
806,826
|
||||
552,276
|
||||
371,567
|
||||
431,0
|
||||
267,532
|
||||
1086,808
|
||||
336,278
|
||||
372,234
|
||||
530,46
|
||||
58,628
|
||||
12,371
|
||||
855,546
|
||||
282,644
|
||||
938,660
|
||||
1176,22
|
||||
995,649
|
||||
49,476
|
||||
1238,514
|
||||
1279,485
|
||||
539,697
|
||||
50,513
|
||||
1190,256
|
||||
490,235
|
||||
430,84
|
||||
18,217
|
||||
453,215
|
||||
1103,42
|
||||
274,164
|
||||
242,537
|
||||
884,752
|
||||
550,329
|
||||
855,299
|
||||
100,845
|
||||
328,526
|
||||
910,514
|
||||
933,476
|
||||
100,49
|
||||
2,378
|
||||
301,501
|
||||
1298,180
|
||||
939,842
|
||||
470,298
|
||||
35,528
|
||||
746,498
|
||||
156,453
|
||||
857,439
|
||||
564,554
|
||||
144,777
|
||||
1165,718
|
||||
840,695
|
||||
546,793
|
||||
749,385
|
||||
576,201
|
||||
529,103
|
||||
835,751
|
||||
1266,26
|
||||
1093,577
|
||||
207,852
|
||||
1297,757
|
||||
933,866
|
||||
841,724
|
||||
1201,129
|
||||
199,859
|
||||
1074,560
|
||||
335,649
|
||||
271,794
|
||||
1125,724
|
||||
838,229
|
||||
1183,779
|
||||
782,686
|
||||
413,393
|
||||
765,129
|
||||
77,725
|
||||
1146,430
|
||||
59,224
|
||||
870,107
|
||||
656,704
|
||||
164,270
|
||||
865,320
|
||||
181,521
|
||||
1063,40
|
||||
229,95
|
||||
142,392
|
||||
987,515
|
||||
838,644
|
||||
276,9
|
||||
103,670
|
||||
790,58
|
||||
174,240
|
||||
1298,819
|
||||
1131,703
|
||||
435,861
|
||||
1308,712
|
||||
782,626
|
||||
806,147
|
||||
523,261
|
||||
979,379
|
||||
1026,137
|
||||
591,191
|
||||
726,540
|
||||
92,561
|
||||
400,392
|
||||
1309,427
|
||||
728,380
|
||||
937,417
|
||||
171,880
|
||||
1308,182
|
||||
1218,540
|
||||
311,119
|
||||
104,565
|
||||
201,343
|
||||
266,583
|
||||
363,371
|
||||
397,89
|
||||
119,714
|
||||
919,130
|
||||
142,502
|
||||
773,691
|
||||
995,245
|
||||
1265,816
|
||||
748,540
|
||||
1185,103
|
||||
1072,789
|
||||
185,170
|
||||
1020,754
|
||||
946,626
|
||||
677,600
|
||||
93,805
|
||||
1081,791
|
||||
633,294
|
||||
512,840
|
||||
728,50
|
||||
771,137
|
||||
520,506
|
||||
897,393
|
||||
1154,565
|
||||
541,471
|
||||
1297,137
|
||||
967,474
|
||||
499,208
|
||||
639,879
|
||||
318,269
|
||||
629,281
|
||||
975,649
|
||||
490,260
|
||||
545,577
|
||||
156,5
|
||||
383,669
|
||||
913,532
|
||||
119,164
|
||||
162,688
|
||||
1092,793
|
||||
|
||||
fold along x=655
|
||||
fold along y=447
|
||||
fold along x=327
|
||||
fold along y=223
|
||||
fold along x=163
|
||||
fold along y=111
|
||||
fold along x=81
|
||||
fold along y=55
|
||||
fold along x=40
|
||||
fold along y=27
|
||||
fold along y=13
|
||||
fold along y=6
|
102
data/day_14.txt
Normal file
102
data/day_14.txt
Normal file
@@ -0,0 +1,102 @@
|
||||
HHKONSOSONSVOFCSCNBC
|
||||
|
||||
OO -> N
|
||||
VK -> B
|
||||
KS -> N
|
||||
PK -> H
|
||||
FB -> H
|
||||
BF -> S
|
||||
BB -> V
|
||||
KO -> N
|
||||
SP -> K
|
||||
HK -> O
|
||||
PV -> K
|
||||
BP -> O
|
||||
VO -> V
|
||||
OP -> C
|
||||
BS -> V
|
||||
OK -> V
|
||||
KN -> H
|
||||
KC -> N
|
||||
PP -> F
|
||||
NB -> V
|
||||
CH -> V
|
||||
HO -> K
|
||||
PN -> H
|
||||
SS -> O
|
||||
CK -> P
|
||||
VV -> K
|
||||
FN -> O
|
||||
BH -> B
|
||||
SC -> B
|
||||
HH -> P
|
||||
FO -> O
|
||||
CC -> H
|
||||
OS -> H
|
||||
FP -> S
|
||||
HC -> F
|
||||
BO -> F
|
||||
CF -> S
|
||||
NC -> S
|
||||
HS -> V
|
||||
KF -> O
|
||||
ON -> C
|
||||
CN -> K
|
||||
VF -> F
|
||||
NO -> K
|
||||
CP -> N
|
||||
HF -> K
|
||||
CV -> N
|
||||
HN -> K
|
||||
VH -> B
|
||||
KK -> P
|
||||
CS -> O
|
||||
VS -> P
|
||||
NH -> F
|
||||
CB -> S
|
||||
BV -> P
|
||||
FK -> F
|
||||
NV -> O
|
||||
OV -> K
|
||||
SB -> N
|
||||
NF -> O
|
||||
VN -> S
|
||||
OH -> O
|
||||
PS -> N
|
||||
HB -> H
|
||||
SV -> V
|
||||
CO -> H
|
||||
SO -> P
|
||||
FV -> N
|
||||
PF -> O
|
||||
NN -> S
|
||||
KB -> P
|
||||
NP -> F
|
||||
OC -> S
|
||||
FS -> P
|
||||
FH -> P
|
||||
VP -> K
|
||||
BN -> O
|
||||
NS -> H
|
||||
VB -> V
|
||||
PO -> K
|
||||
KP -> N
|
||||
SN -> O
|
||||
BC -> H
|
||||
SF -> V
|
||||
PC -> O
|
||||
NK -> F
|
||||
BK -> V
|
||||
KH -> S
|
||||
SH -> S
|
||||
SK -> H
|
||||
OB -> V
|
||||
PH -> N
|
||||
PB -> C
|
||||
HV -> N
|
||||
HP -> V
|
||||
FF -> B
|
||||
OF -> P
|
||||
VC -> S
|
||||
KV -> C
|
||||
FC -> F
|
100
data/day_15.txt
Normal file
100
data/day_15.txt
Normal file
@@ -0,0 +1,100 @@
|
||||
7715611621811483411121929153345417926121654738244558184333228256741518593939121351941172244538819793
|
||||
5978192582116933121967117233221363821218169348147142177193168221219699236451313112198933914323123492
|
||||
3523162115513315258921111444182316618172925755923799136271191151813516522171176112647162541858173363
|
||||
7931931461145231897547234134741682994126523123999252325119362919742719127391146114344331291116971777
|
||||
3912157144212332298711374454411326743116179131395281613188171189221945922126933817119198199326455346
|
||||
2219143418191822913131432991534835872531239119117118416185912111192962531111319326176629318111185111
|
||||
9116687994992138729148521124241932317616396617951124297314235138854797168842416251775729287611967414
|
||||
7851151594489117347687963146449123171411231791678721232616848894581346355912616826231169619235952732
|
||||
2851861191919753472141651266114831227654463284483498521612827841418971981411931436113213396426946112
|
||||
6712388671398963172123321653869646551586461492219377899341274966231951164199917165932561616983929924
|
||||
3677326111792395522936119111175266111868435913873231478188182951214919133631271356331241911265195215
|
||||
2411238217381994191274413116991994522732518981599292983991998111631182731112386631322271192212411843
|
||||
1924296312792281346181932776933796211556871296835132761484192932264311663412971542122254194197225125
|
||||
5193911629511224247133119192711512118326922142611261829118422127224838641841967498792466123922241611
|
||||
3518421332332225373982119933189183848164192326315196127257111819966291868392125511182719699513213126
|
||||
1243423697719296145178212414496848356131291919119337192521512383952691111818938552679591331194252815
|
||||
1114134841622115582771529171517131623995521325269361158192181119511123926429217441181915118546111129
|
||||
3413463671141433362959518115315279211752711714921711141946919111126196926192311117361329611368827123
|
||||
1372787612785741712553922962223999622392124621931191746293231951121499351641599723992929211182183521
|
||||
1646324114562413462565234121468141622211633146398136728423519196521422661392274137424189885124111979
|
||||
8593927754728491812319341327322619591487122534343481851326173126244497617119592817617578171431611211
|
||||
3544996545112122938226413169257256114389524779177813732798495971419433331931141513863257159222211327
|
||||
1317112599316491522993299211918262655114758519194159564179393912978824213816415221134382876196791131
|
||||
2992415411131212997526331872111112996344865592792815133565817171814172837534233288248214812739937128
|
||||
7399281754443127946141431876481961612345132118851715323452891116597132773351188234354812269914136314
|
||||
1353222121126771342784863118971948121131151269737693294597543471364852531536931711275612918142912339
|
||||
1231143322424173511217841979211499894524361726733118828862941949323516193769441834412128333517121219
|
||||
4153113123817117759341379297738315498194824968743168793739217211372842125911549919617297111441613631
|
||||
9731976338891216952882213198614419772196764362991958541418412247316741111113414519698991177561491619
|
||||
1549968122497536224817279413173193149141335731431114111191969373537193295361951832648538349971115651
|
||||
3141199162911153239685453949619182151714537212236218628247835892234915714197151176914515494168817613
|
||||
2321634214222164696761674371984136262645585522114118771793891255516343661843273111241429184252481112
|
||||
1323271335941123627134295288123814147892434111122433863111883333942311312165717429336197351684297515
|
||||
1799383479828119861997991252537621715111112211243118199888781621163257948541164311576771111337441297
|
||||
3474558728714311424212121852197696651899775852781115664112735924716128287452112718142116441487711179
|
||||
1212211282414612598188336251113541918828321262911122168152739929958181711329326391542161816879229457
|
||||
9369141739122111275981911719178226989791269152711118514211312351951888312115211119912146165111417274
|
||||
1557942397217218772114458897214197121496239971221799298121731791112838411839164943531148113513822329
|
||||
2116511928331138153519713938955192461891971295394211113118549975869129341915148999142791221429844338
|
||||
1216615164189449189844291299217862321339427481291811189889121368125354184186711881158278233714798812
|
||||
2131462662132519141953391411117681836144434719816111765876594111661972132119291718521288742511921812
|
||||
1352178182113553243431145717611728111429117626322671124512968719613828222757811142112237112915916411
|
||||
9111861843583342173156761182486951611273911221233459621981815173222733765922411929621144273182167173
|
||||
6461614968141185513751845166496129581174136991312882746411333574211232145145411259791494747636513831
|
||||
8395826326831481781816141231151946694412171233118734118443712934188141261953428112498397283833996953
|
||||
3224325116954176581173265389433772885221125196135137181681253382516579111971122321919261361455573426
|
||||
5612711314828933927115772517317242878121717862126961211324793885131324871781627863678621349344985162
|
||||
9219113183181524712318355994194342313255174114168321236494161659235237996744938323416519175154774368
|
||||
1455219173629652263128124278132571923466188331613694112619643242969214341411691592236981126229531246
|
||||
9997212872235551519294812463451816576987351769737341319699248495132218138849526591159541452141311227
|
||||
9439551788914742428219371619927339189298769319132111753411511544151872351486489786185314584942895521
|
||||
4623921912121114189211698941781144517423493925244616879259454219595112526216227151411539965913122341
|
||||
9233881249291833812284319142291868129327632421241354425437738985391254261131535339322529281581561495
|
||||
6621816747917191382495161833567118397773372129721681832591214252274233112632684542595451911924821133
|
||||
1961985912891945611341231799388123719733816334154627934522422918536573253556769424412919116426182323
|
||||
8613914491619713822131419117143163659542154519169992171969135131941141557529457324123161951111765294
|
||||
4268219915611518484714151351482241221275914371738124149239386327831219359136247361161375174224223839
|
||||
2417628752221923911251535153892648194748229231761133182371314159657511173541128258975114145282143131
|
||||
1149132123898111199247912341113411962434312877836882119771691759571972141321747138787951211139182122
|
||||
8589114128711558917336937119159115193482491549524442733618822133531142619542652131192519259679572118
|
||||
8417549457115646563131638317315161112292939814589243166226251236828614439212129983319595172328298496
|
||||
7132261193213112392744229915239441239812134161721522541289116993632721981519211498478878212229136195
|
||||
5284114931928992331114192299645884318993264292231979919528343172899594924111575491982184914671211943
|
||||
4138427142832314543311113423227271112997816549131893391237171313241261242672582112128835619821371121
|
||||
4918821233299337972289281128133411678349812271421157479832992298658193248154113222111521996724714323
|
||||
9174191481421563857184797521172297912449121127431641255195914981149724121258184197136514813734273234
|
||||
4112626214511388118211446512388876694313187965929168166814111113382224115821767413172111376427638393
|
||||
3231154459742912972641231118291138185681466529142819182885451441118191771984959111111623683628161113
|
||||
5841171953222465917336112439651628888517153249964599148991263916813419222189131513441336935294361738
|
||||
1816982764214991569342131547714487273197791551197149221141426622298772319696223747144351291172292314
|
||||
9475574461545913358168363336339111314873371711345178219127111194927223149613171931929322893211152758
|
||||
4858113211241899116852635135769311112114182724528552311872195867129114349887193381564631182288641431
|
||||
9742923193935298412422519924115919956189443126116429369399671331114348991891115412454184715126299998
|
||||
9121814433419188117111757994391996912918393911152421324919462957262487176581182129438199211342711241
|
||||
9152171557731172939156141661228213792961792411377162925187423286231921473559751361928233131516412191
|
||||
7288111938512228994743624943311448872522112536176928681443419899213241329198212953522514116811911197
|
||||
9349832181421346375192594111125921597518122235122992135833853191479358257121815429654613383832118393
|
||||
5787987676213718162591455312614145484267395142381485479118249352234818169546988191111121531915975846
|
||||
1593328873913943873678371287612191117251139167998756142661344997618573521246115295381218111199353123
|
||||
7792811294182231635163292331735316144325221519124512326112978344515322371153671145111948211314111961
|
||||
2318518221984644229891593834523191322527124556185113492672653928784664122218293847186517161551631851
|
||||
1112829983141931112651721133161412432143348121156512484214145542131639818492551211129611431998577181
|
||||
3592613729447389151192925815192425191916611234864255478391561193394996337454189464938128832119348811
|
||||
1271921732441182191447179913999221292183221141274914288646297111212268851116317378213664353119951955
|
||||
1952724641973599331362393291821311217123755111853629765725951319311313197419922547371189952219569671
|
||||
9175174929918626863191261492871635282719323944341514814391991254113352393192263965371316169319756114
|
||||
7796162132715959911612986171614281934119795141614191521216692472181723351815721531573126767456111621
|
||||
1929441344612524315169915972256329374194651851188791336975193211635164981382125948798143115991218147
|
||||
3196918124398432195448219783729332721415743182553947677319291263569111194212214141296123149311195918
|
||||
3158114419662114389969334121776231616687394316562465952127448362341922599962916219531841316418231911
|
||||
7689421696457392537729119321129879691967715569123191226313319112314943111466159111416157881113611939
|
||||
7831513935396926282212738725323211942958912226993621996662133721199282226293728546453712751822771285
|
||||
2123699211953181196938911293262179311281131944194219219814973246548631519123711749121712622686521314
|
||||
5191342118926287865138111129119915719811398331646995511667311198221618374236169145912891632927912111
|
||||
8214442493117223193442175221522611659488871176512331552482329112125141241921222999759248511345262843
|
||||
1914183724394277228911926796911512739125432271261643511196439716723711131491717732211162514393511298
|
||||
1119745958685726562282127671296828241734389837168591468985891281128335925991724159212218314375287914
|
||||
9517519684395161899187861919321914215994991181859919191641351832193212127643354718852685876126577315
|
||||
3342917922251914252338185581691191842316989111841311466776912683629971312998965551711141287138724241
|
||||
8176221727998313186834559714891971413547985825489911732617146966111238282644811394895278181837711185
|
1
data/day_16.txt
Normal file
1
data/day_16.txt
Normal file
@@ -0,0 +1 @@
|
||||
020D78804D397973DB5B934D9280CC9F43080286957D9F60923592619D3230047C0109763976295356007365B37539ADE687F333EA8469200B666F5DC84E80232FC2C91B8490041332EB4006C4759775933530052C0119FAA7CB6ED57B9BBFBDC153004B0024299B490E537AFE3DA069EC507800370980F96F924A4F1E0495F691259198031C95AEF587B85B254F49C27AA2640082490F4B0F9802B2CFDA0094D5FB5D626E32B16D300565398DC6AFF600A080371BA12C1900042A37C398490F67BDDB131802928F5A009080351DA1FC441006A3C46C82020084FC1BE07CEA298029A008CCF08E5ED4689FD73BAA4510C009981C20056E2E4FAACA36000A10600D45A8750CC8010989716A299002171E634439200B47001009C749C7591BD7D0431002A4A73029866200F1277D7D8570043123A976AD72FFBD9CC80501A00AE677F5A43D8DB54D5FDECB7C8DEB0C77F8683005FC0109FCE7C89252E72693370545007A29C5B832E017CFF3E6B262126E7298FA1CC4A072E0054F5FBECC06671FE7D2C802359B56A0040245924585400F40313580B9B10031C00A500354009100300081D50028C00C1002C005BA300204008200FB50033F70028001FE60053A7E93957E1D09940209B7195A56BCC75AE7F18D46E273882402CCD006A600084C1D8ED0E8401D8A90BE12CCF2F4C4ADA602013BC401B8C11360880021B1361E4511007609C7B8CA8002DC32200F3AC01698EE2FF8A2C95B42F2DBAEB48A401BC5802737F8460C537F8460CF3D953100625C5A7D766E9CB7A39D8820082F29A9C9C244D6529C589F8C693EA5CD0218043382126492AD732924022CE006AE200DC248471D00010986D17A3547F200CA340149EDC4F67B71399BAEF2A64024B78028200FC778311CC40188AF0DA194CF743CC014E4D5A5AFBB4A4F30C9AC435004E662BB3EF0
|
1
data/day_17.txt
Normal file
1
data/day_17.txt
Normal file
@@ -0,0 +1 @@
|
||||
target area: x=156..202, y=-110..-69
|
100
data/day_18.txt
Normal file
100
data/day_18.txt
Normal file
@@ -0,0 +1,100 @@
|
||||
[[[[4,9],[1,7]],[9,8]],[[7,9],[7,9]]]
|
||||
[[[1,[1,5]],9],[[[8,0],[8,8]],[[7,2],[4,6]]]]
|
||||
[[3,7],[[7,[4,6]],[[8,0],[7,8]]]]
|
||||
[[[[0,1],2],4],[[9,[2,8]],7]]
|
||||
[[[[9,0],9],7],[[1,0],8]]
|
||||
[[4,[[1,2],1]],1]
|
||||
[[[[6,1],[0,2]],[[2,3],4]],[[9,1],8]]
|
||||
[[[5,9],[1,0]],[[7,0],3]]
|
||||
[[9,1],[[4,7],[5,[8,6]]]]
|
||||
[[5,[[3,2],[1,9]]],[[[3,8],9],3]]
|
||||
[[0,[[5,6],2]],9]
|
||||
[6,[2,[[4,2],6]]]
|
||||
[[[[8,2],[9,1]],[9,1]],7]
|
||||
[9,1]
|
||||
[[[[9,8],[5,3]],5],[[6,9],[9,[6,8]]]]
|
||||
[0,[[2,[2,5]],2]]
|
||||
[[2,6],[[[2,8],1],[[0,2],[0,7]]]]
|
||||
[[[[7,8],[8,5]],[[3,2],[4,0]]],[2,[[1,0],[2,6]]]]
|
||||
[[[7,[7,0]],[[1,9],9]],7]
|
||||
[[[[5,1],[0,9]],4],[[0,[9,7]],[8,[6,8]]]]
|
||||
[[8,2],[2,[6,0]]]
|
||||
[[2,6],[[[4,0],6],2]]
|
||||
[[9,[7,[0,1]]],8]
|
||||
[[[[3,8],[4,3]],[7,[0,6]]],[[[5,5],[0,4]],[[8,2],0]]]
|
||||
[[[[9,1],[9,3]],[1,[0,1]]],[[[9,6],8],[9,6]]]
|
||||
[[[[2,3],[7,1]],[[6,8],6]],[[[6,0],0],0]]
|
||||
[[7,[[5,0],4]],[[[8,8],[6,2]],[8,2]]]
|
||||
[[[0,[3,8]],[[0,0],[6,1]]],[[4,5],[[3,9],[5,8]]]]
|
||||
[4,[[1,[9,6]],[8,2]]]
|
||||
[[9,[[9,2],3]],[[[5,6],2],[1,[0,9]]]]
|
||||
[[9,9],[[0,[9,6]],[[8,6],3]]]
|
||||
[[4,[[8,3],2]],[[[9,9],9],[2,[2,0]]]]
|
||||
[[[[7,3],[4,2]],7],[4,6]]
|
||||
[[[2,6],[[4,0],[0,8]]],[[5,0],[3,5]]]
|
||||
[[[[9,3],[0,3]],[[0,0],[1,1]]],[3,[[8,4],[8,6]]]]
|
||||
[[[[3,6],8],1],[[4,[4,1]],[[5,1],[3,0]]]]
|
||||
[[[[8,1],[2,0]],[5,[2,1]]],[[9,[0,0]],[[7,2],[1,0]]]]
|
||||
[[[6,6],[2,3]],[[7,6],[[9,8],2]]]
|
||||
[[[0,9],3],[[[9,5],5],[[6,8],[0,4]]]]
|
||||
[[[0,3],9],[5,[5,[0,5]]]]
|
||||
[[0,[[9,1],4]],[2,4]]
|
||||
[[[9,7],[0,[7,8]]],[[[3,3],5],[[0,9],[1,5]]]]
|
||||
[[0,[[8,0],[5,2]]],[[[1,8],[1,2]],[3,8]]]
|
||||
[5,[0,[[9,8],9]]]
|
||||
[[6,[[9,2],[3,5]]],[[[2,3],9],3]]
|
||||
[1,[1,1]]
|
||||
[[6,[[0,0],1]],[[7,[4,9]],7]]
|
||||
[[3,[[3,5],3]],[[[9,9],6],[[5,0],8]]]
|
||||
[1,5]
|
||||
[[0,4],[8,7]]
|
||||
[[7,[[9,2],1]],5]
|
||||
[[[[6,8],[6,5]],0],4]
|
||||
[[[4,1],[9,0]],[[[4,3],6],[5,9]]]
|
||||
[[8,[[1,9],[5,4]]],[[[9,0],4],[5,5]]]
|
||||
[[0,9],[[[5,5],[7,7]],6]]
|
||||
[[8,[8,5]],[8,[2,6]]]
|
||||
[[[[8,4],4],0],[[3,[2,6]],[6,6]]]
|
||||
[[5,[[5,2],6]],[[[2,3],[5,0]],[[2,9],0]]]
|
||||
[[[[5,9],6],[[8,9],[5,7]]],[0,[8,[2,5]]]]
|
||||
[[[[9,0],7],1],2]
|
||||
[[[9,3],6],[[[6,6],[9,6]],1]]
|
||||
[[[2,0],[0,[4,6]]],[[[5,7],6],[9,5]]]
|
||||
[[[3,[4,3]],8],[[[6,3],[0,5]],2]]
|
||||
[[[[2,8],8],[5,[2,4]]],[[3,7],[2,1]]]
|
||||
[[1,[[2,7],4]],7]
|
||||
[[2,[4,[5,9]]],[[[7,0],6],[4,[9,1]]]]
|
||||
[[[9,[3,5]],[[9,5],[5,2]]],[[2,[4,3]],[[0,5],[1,9]]]]
|
||||
[[1,[9,0]],[[[0,9],[9,3]],0]]
|
||||
[[[[7,8],[3,6]],3],[[[2,6],[2,9]],[[1,3],[1,3]]]]
|
||||
[[[7,[1,4]],[4,7]],[[[0,7],[0,6]],5]]
|
||||
[[[6,0],[3,[2,3]]],6]
|
||||
[[0,[3,[1,3]]],[[2,3],9]]
|
||||
[[[8,6],[0,2]],[[[8,9],[7,0]],9]]
|
||||
[[[[4,9],6],2],[[[8,9],[1,5]],[9,3]]]
|
||||
[[[1,5],[6,[2,7]]],[7,[1,7]]]
|
||||
[5,[3,[9,1]]]
|
||||
[[[7,5],[1,5]],1]
|
||||
[2,[[[5,0],[4,0]],[[3,7],5]]]
|
||||
[[[5,9],1],[[[3,9],4],6]]
|
||||
[[3,[[5,2],[9,2]]],[4,[[3,6],[8,9]]]]
|
||||
[[[5,4],[8,8]],1]
|
||||
[[[[8,9],[5,8]],0],[[9,5],[6,[7,1]]]]
|
||||
[[[4,[8,8]],[[9,5],4]],3]
|
||||
[[6,[6,[4,3]]],[[7,[3,9]],[4,8]]]
|
||||
[[5,[[4,2],[7,3]]],[[[9,0],[0,1]],[[5,8],0]]]
|
||||
[[[[6,1],6],[9,[0,8]]],[9,9]]
|
||||
[[4,0],[[[1,4],4],[4,4]]]
|
||||
[[7,[[0,0],[1,6]]],7]
|
||||
[[6,3],[5,[[2,7],5]]]
|
||||
[[1,[7,5]],[0,[4,1]]]
|
||||
[[[3,7],3],[[3,[0,2]],2]]
|
||||
[[[0,8],[[7,0],[9,8]]],[[[0,3],4],[[6,0],6]]]
|
||||
[[[[4,6],[1,7]],[[6,4],[1,5]]],[3,[9,9]]]
|
||||
[[[2,[1,7]],[9,9]],[[0,[7,8]],[0,[9,6]]]]
|
||||
[[9,8],[5,[6,[1,8]]]]
|
||||
[[[7,2],[[0,6],[2,6]]],[[9,[0,4]],[9,[5,8]]]]
|
||||
[[[8,[6,8]],[[5,5],[9,9]]],[[[2,0],6],[8,1]]]
|
||||
[[[[0,8],4],[3,4]],[[0,[0,8]],[[7,5],2]]]
|
||||
[7,[[[3,4],[5,4]],8]]
|
||||
[[[2,8],[0,2]],6]
|
136
data/day_19.txt
Normal file
136
data/day_19.txt
Normal file
@@ -0,0 +1,136 @@
|
||||
--- scanner 0 ---
|
||||
404,-588,-901
|
||||
528,-643,409
|
||||
-838,591,734
|
||||
390,-675,-793
|
||||
-537,-823,-458
|
||||
-485,-357,347
|
||||
-345,-311,381
|
||||
-661,-816,-575
|
||||
-876,649,763
|
||||
-618,-824,-621
|
||||
553,345,-567
|
||||
474,580,667
|
||||
-447,-329,318
|
||||
-584,868,-557
|
||||
544,-627,-890
|
||||
564,392,-477
|
||||
455,729,728
|
||||
-892,524,684
|
||||
-689,845,-530
|
||||
423,-701,434
|
||||
7,-33,-71
|
||||
630,319,-379
|
||||
443,580,662
|
||||
-789,900,-551
|
||||
459,-707,401
|
||||
|
||||
--- scanner 1 ---
|
||||
686,422,578
|
||||
605,423,415
|
||||
515,917,-361
|
||||
-336,658,858
|
||||
95,138,22
|
||||
-476,619,847
|
||||
-340,-569,-846
|
||||
567,-361,727
|
||||
-460,603,-452
|
||||
669,-402,600
|
||||
729,430,532
|
||||
-500,-761,534
|
||||
-322,571,750
|
||||
-466,-666,-811
|
||||
-429,-592,574
|
||||
-355,545,-477
|
||||
703,-491,-529
|
||||
-328,-685,520
|
||||
413,935,-424
|
||||
-391,539,-444
|
||||
586,-435,557
|
||||
-364,-763,-893
|
||||
807,-499,-711
|
||||
755,-354,-619
|
||||
553,889,-390
|
||||
|
||||
--- scanner 2 ---
|
||||
649,640,665
|
||||
682,-795,504
|
||||
-784,533,-524
|
||||
-644,584,-595
|
||||
-588,-843,648
|
||||
-30,6,44
|
||||
-674,560,763
|
||||
500,723,-460
|
||||
609,671,-379
|
||||
-555,-800,653
|
||||
-675,-892,-343
|
||||
697,-426,-610
|
||||
578,704,681
|
||||
493,664,-388
|
||||
-671,-858,530
|
||||
-667,343,800
|
||||
571,-461,-707
|
||||
-138,-166,112
|
||||
-889,563,-600
|
||||
646,-828,498
|
||||
640,759,510
|
||||
-630,509,768
|
||||
-681,-892,-333
|
||||
673,-379,-804
|
||||
-742,-814,-386
|
||||
577,-820,562
|
||||
|
||||
--- scanner 3 ---
|
||||
-589,542,597
|
||||
605,-692,669
|
||||
-500,565,-823
|
||||
-660,373,557
|
||||
-458,-679,-417
|
||||
-488,449,543
|
||||
-626,468,-788
|
||||
338,-750,-386
|
||||
528,-832,-391
|
||||
562,-778,733
|
||||
-938,-730,414
|
||||
543,643,-506
|
||||
-524,371,-870
|
||||
407,773,750
|
||||
-104,29,83
|
||||
378,-903,-323
|
||||
-778,-728,485
|
||||
426,699,580
|
||||
-438,-605,-362
|
||||
-469,-447,-387
|
||||
509,732,623
|
||||
647,635,-688
|
||||
-868,-804,481
|
||||
614,-800,639
|
||||
595,780,-596
|
||||
|
||||
--- scanner 4 ---
|
||||
727,592,562
|
||||
-293,-554,779
|
||||
441,611,-461
|
||||
-714,465,-776
|
||||
-743,427,-804
|
||||
-660,-479,-426
|
||||
832,-632,460
|
||||
927,-485,-438
|
||||
408,393,-506
|
||||
466,436,-512
|
||||
110,16,151
|
||||
-258,-428,682
|
||||
-393,719,612
|
||||
-211,-452,876
|
||||
808,-476,-593
|
||||
-575,615,604
|
||||
-485,667,467
|
||||
-680,325,-822
|
||||
-627,-443,-432
|
||||
872,-547,-609
|
||||
833,512,582
|
||||
807,604,487
|
||||
839,-516,451
|
||||
891,-625,532
|
||||
-652,-548,-490
|
||||
30,-46,-14
|
1000
data/day_2.txt
Normal file
1000
data/day_2.txt
Normal file
File diff suppressed because it is too large
Load Diff
102
data/day_20.txt
Normal file
102
data/day_20.txt
Normal file
@@ -0,0 +1,102 @@
|
||||
##..#.#...##.####..#..###.#.#.#.#.####.#.##.....#####.##..#..#.#.##.......##.##.#.#...#....#.####..#.##.##....###..##.#####.##....##.#.#.#.#....####...##.#......#.#..##......##..#..###.#..####.###...##.#.##.#..##.##..#.#.#..###..##.####.#.#.#..#.##...#..##...##.#####..##.##..#...#..###.#.#...#..#..##...#.#..........#...#...#.#.#.#..#.###..##....####..#######.##.#.....#.#.###...##...###...#.##.##.##..#......#.###...#.#.#.#...##.#.#.##.#..###.#...##...##.......####.##..#.#....#.#####..#..#####.#.....#....#.#.
|
||||
|
||||
.##.#...##..##.#..........#####..#.##..######.##..#....#..#####.#.#####.#..#...#..#####..#.......##.
|
||||
.#.#.#.#####..##.#.###..#.##.##.......#.####.#............#.#....####..#.#####.##.##.#.###..#..##...
|
||||
.##.#.#...##....#.#..#...........##.#.#..#####...#..##.###..##.###..........#####..##..##.#.####....
|
||||
##..####.####.###.......#....#.#####.##...#....###...##...###...#...##..####....####..#####..##..###
|
||||
...###.##.....#......###.#.###..#..###...#.#..#.#######.##..#..#..#..##.##..#####.#####.###...#.###.
|
||||
##.###.#....##..####.#..#.###.##.#.##..#...#...###.###.#..#..#.#.###.##.#..###.#.###....###.###.....
|
||||
#.#.##..#.....#.....##....######...#........#.#.#.#.######..#...##.#.######...#.##########..#.###..#
|
||||
.##.#...##.#......###..####.##.#...#..##.#.####...##..####..#####..##.###.#.###...#.#.######.#.#####
|
||||
..#..##..#.#.#...####..###.#..#...#..#.#.#.#.###..####.#...#......#..#..####.#...#.#.#......#...#..#
|
||||
#...###..#.#.###.#.##.##.#.#.#####....#....#.....#####...#..#..#.#####..##.....#..###.#..###.#..#...
|
||||
..##.#.#..##.#.#...#...#.#.#..#.#.##....#####....#.##...#..#..#.#....###...##..#.#.##.##.#.......#.#
|
||||
##.##.#######.###.#..#....#..##..#.###.....#.###..#.#..#....#.#..###.##.#.....#.#.#.##.#...#..##.#..
|
||||
.....#.#.#.#.####.#..####.#....##.###.###...########.#.#....#..##.#.#####...##....##....#.......#.#.
|
||||
##..#...#..#.#.####..#.#..####.#####.#####.###..#.#####.#..#...##.######.###.#..#.##.#.#..#..#.####.
|
||||
#.##.##.#.####...#.#.#.#..####.#.#...###...#.#....##...####.#..#####.#.####.#..#.....###.#..#...#.#.
|
||||
.#..#.##...####...##.####...###..####.##........#.#.##..#..#.##...#....##.#.#..#.#.###...##.......#.
|
||||
..#..#..#.###.##...###....#.#..#..##..#...###.###...#..#.....#..#.####.#.#.#.##..###...#....##.#.###
|
||||
###.##....##.#.##..####.#.###...###.###.#####..##.###.....#.#####....#.##..##.#####.##..###....#....
|
||||
###..#...###..#....#..#.#...#....###.#.####.##..#.#..#.###..#..#.##.#.#.......#...#....#...###..#.##
|
||||
#...#.#.#...#.####.##.#.#..#...##.....#..##....#..#.##..##.####.#.#.###..##..#.#.#.###.#.#..####..##
|
||||
.###..###.##..###..#..#.##..#...#.##.#.......####.#..##.#...#.##..#..........##..####..##.###..###..
|
||||
###.#.#...###..#...#####.####..#..#######.#.#.###.##.###.#.####.##.#####..###.#####.#...####.##..##.
|
||||
.##..##..##.#...######.###...#.##.##....##.#...##.#####.#...##..#.#...#.#..#.##.#....##.####.#.##.#.
|
||||
...####..#...#...####.#.#...#...###..#.##...####.#..######.##.....##..#...#...####.###.#..##.##..#..
|
||||
#.#####.##.##..#..##.#.####..##.#.#...#..####.##..###.####.##.##...#.#...#.#.#####.####.#.###..#..#.
|
||||
..#.....#..##..#...#####..##.###..##.#..##..##..####.#..#.####.###...#####.#.###.....#..#.####.#.##.
|
||||
#####....###..##.#.######.#.##..##.#.#####.##########.#...##...###....###.#.....#.....###.#.#.#.##.#
|
||||
##.....#.###.###.#.##.########....##.##.###...#######..##..#.#.#..#.##..####..#.###.#.###.#.#......#
|
||||
..##..#...#.#.#.#.###.#..#####.#.#..#......####..#.###..###...##...##.##..#..#..#.##.#..###..##.#.#.
|
||||
.#.#..#..###.##.#.#...#.#...##...#.###..#.#.##.#....#..####..#.#.##.#..#...##.#.....##...####.....#.
|
||||
##.#..##...#..##.####.##....##..#####.###...#..######..#....#..#######..#..#.####.#...##.##..##..#..
|
||||
..##.#.###....#..#.....#..#.#.#.#........#..##.#.#.......####.##...#.#.##.######..##..#....#.#......
|
||||
.....#....#.#.##...#..######.###.###.##....##.#.##.###.....#..#.#....#####.#..##.#.....#..#.##....##
|
||||
##.....#.#...####...##.##.#.##.#.##......#.#########.#.##..##...###.##.#..#....#..##.####..#######..
|
||||
##...#.########.###.#....#...#..##.##.###....##...#####..##.####..##..#..#####.#..######.####...#.#.
|
||||
##.####..##.#####..#..###...##.......#...#.###.#.#..#..#....#.#..##.....#.#....####.###...#.#..##.#.
|
||||
#.#.#.#.###..#.#####.#...##...#.###.##..#.#####.....#...#.#.#..#...##....#...####.####.##.#.....####
|
||||
..###.##.#......#######..#...##..###.##....#....#.#..###...#..###.#.#...#..##...####.###.###..#.#.##
|
||||
.#..#.#.##..###########.#.#..#.###.######...###.##..#.###..##.#...#.#...###.#.##.##.#..#..#..#.#...#
|
||||
.#..#.#..##....#....####.#..##....#.###.####..#.##.#.#..###.#.##.#........##.#...###.#.......##.#...
|
||||
...###.#.#.##.##.##.....#.#.#..#..#.##.#######...##....#.#......##....##.#.####.####.###.#....##..#.
|
||||
.#.##..#.##.##.####.....##...#..###.###.###..#..##.####..##...#.###.##..##..#####.#..###....###.##.#
|
||||
#.###...#####.#..#.####...##.#..#...######.....#.#....##.#.#...##....#...........##.##.##.#...######
|
||||
##..#..##.....##..#.#..##.##.#..#...####.######.......###..#..##.##..##..##..###..##.##.#.#.....#...
|
||||
#......###..#####..#######.#.#..#.###..##.#..##.##.##.#..###.###..##.##.....#.#..####.#.##...##..###
|
||||
.##...#..###..##..#.#####.#####.###...#.........#.##.##.###.#.#.#...###.#..###.##.##.#..#..#...###.#
|
||||
#.###.###.###.#.###.#.##....##..##.......#....##.###.###.#.###..#..###.#.##.##..#.#...######.####..#
|
||||
..#####.###.##.#..##.##.#..#.###..#.####....#...##.#.......#.#..##.#.......##.##.#######...######.##
|
||||
#.##...###..#..##.....#.#.##.#..##...##.#####..#...##...#..#.####.#.##.##.#....##.###.#.##..##..#.#.
|
||||
..#.###.#.##...#..##.#..####.###..#####.##.####.#.##..####.###..##..#...#.##...#.###....####...####.
|
||||
.###.....###.#....######.#####..#..#..#.#.#..#..#.###.#........##.###...#...##..#..#...#.....#.###.#
|
||||
..###.##.#.#####.#..########..##..##.#..###.#.##.#....#.###........#....#...#.#...##.#.##..#..##.##.
|
||||
###.#.#.#...#..##....#.##....##.#######.#.##.#.##....#....###.#.#.....#.##..###..##..#..##..#.#..##.
|
||||
.#.##..#.##..##.##.##..#.###.#..##.###.#.###.##......##.#...##.##..##...##.#...##.#..#..#.##..#.##..
|
||||
####..####.###..#..#####...###.#....###.#...##........#.#...#..#.#.###..####.#.#.######...#..##.#.#.
|
||||
#...#..#.##..#.#.#.#.#...##.#.##..#...#.###.###.#....##.#..##.#.###..##....#.###.#.##..#..##....#...
|
||||
#.###.#.##.###.#..#...####.#....#..#.#####.#...#.###.##.##.###.###..#...#.#.####..###..........##.#.
|
||||
##.##.#.###.#.##.####...###.#.###..###...####..#####.###...#.##...###.##..#.####.#.##...#....##.#.##
|
||||
#....#..##.##.##......##...##.##..#####...#.##.###.##...##..##..###..#..#..#...###.##.#..#..#.#...##
|
||||
###.####.....#.#....####..#.##.........#....##.....#....##.#..##.##..####..###.####.#...##....##.##.
|
||||
#.......###.#..####.##..#..##...#....###...##.......##.....###.######.#..#..##..#....#.###.#..##.###
|
||||
#.###.##..##..##.##...#.........####..####..#..##...##.#..#..#######.###...#......#.##.####.#..##...
|
||||
#.####...##.#...#.#.###...##...#....#.##.##.####.#.#....###....#...#........##.##..#.#.####..#.#.#..
|
||||
.#..###.#..#.....##..#..#.###..###.#.##...#.#.....#...#....#.##.#..#.#...#..#.#..###..#.#...###.....
|
||||
.####....####....#.#.....#..#.#.##........#..#.####.##.##...#.#.####.#..#.##..##..#...#.#.##...#.#.#
|
||||
#####.#...####.#.####.#...#..#...#.#.##.#..#...##..#.#...##.###.##.#.###.###.#...#..#.###.##.##...#.
|
||||
#.#....#.###.##..##.##..##.#...#.###....###....###..#.####.###..#.#.##...#..####....#.####...###.#..
|
||||
.#...#.###.#.####..#.#####...##...#..##........#....#..#.#.##..##.##.#######.#.#.#.##.#.#.#.##..#...
|
||||
#....#....#.#.##.##.##..###..###.##..#.##.....###.###......#.#....#..#.##......#.###.#..#.#.#.#..###
|
||||
#####.#####.##...#.#..#..##.####.#......######..####..##.##.##.#.......#...####..#..###.#..##.#.#.#.
|
||||
#.##...##..##......###...#.#.##...#.#...#..##.###.#..#.##...#.#.#.##.###.##.#####....#...#.....##..#
|
||||
..##....##..#..##..##...#..#.##.####.##........###..##.##.#.#.##..#..###...#..#...##.#.##.########.#
|
||||
#...#.#####.###.#....#....#######.###..#..#.#..##..#.###.#.####.##.#..###..#....###.###....###.#..##
|
||||
.......###.#.#.#..#.#..###...#.##..#..#...#..#....#..#...#.#####.#...##.#.###.###.#..#.##.#..##.....
|
||||
....#.##...#.##.#.###..#####..#.######.###...###..##.#.#.##.###.##.####..#..#.....#.......#.######.#
|
||||
##..####......##...##.#..#..#..#..##.#.#..##..####.#.######.#...##..#..#.##.##..###..#..#.#..#..#...
|
||||
.##.#..#..##.#.##..#..#.#.#...##.##...##.#.########..##..#...#####.....#.#..###.#.##.##.###..#..#.##
|
||||
..##...#.#..#.#.##.###..#....#..###...#..##....##.#..######..###.#.#####..#.###.##.###..#####...####
|
||||
#.#..###.##.#...#..###..#.##.##...####.####.#.....##....###..#..#...####.####.###...#..#.#.#.#.##..#
|
||||
###..##...#.#..##..#...##..###.#.....#...##.###.#..###...###.####..###.#..#.#...##.....#............
|
||||
.#####..##...##....######...#..###.#.#......#...######.#..#...###.#...#..####.#......##..#..#.#...#.
|
||||
.#..####.#.#..###..#.#.##.####..#.#....#.####..##...#..#.#.#..###.........##.#.#####...###...#.#..#.
|
||||
.#.#....#..####..##..#########.#..#.##..###..#..#...###....##.....####...#..#.##....#######.####.##.
|
||||
##.#.####..#...#..#.##.#..#....##.####..####..###.#.#...#######.#.###..###.###..#.###.##...##.##..#.
|
||||
.#####.....##.#....##...##...#.#..####.##..#....##.###.#####.##.#.#.#...#...#.#.#.......##..##.##.#.
|
||||
.##..#.#.###.#.#.#....##.#...#....#...#...#..#######....##.#.#.#####.#.###..#..#...#......#..#.##..#
|
||||
...##.....#..#.####.###...#####.#.#....##.#.#.#.#...####.####.#..##.#.##.##.###..##...##.....#...###
|
||||
####.###..###.####..###.##..#.#####.#...##.#..#.#.##.####.#..####..#..##....####.#....#...#.####.#.#
|
||||
##....##.#.#.##.###..#####.##..##..#..##..##..#.#..###.##.#####...#..#.##.#.####.####..#...##..#..##
|
||||
#.#..###..##..#..#..####..#..#.#..#.##...###.#.#.#.#...####.#.#...####.##..#.#.#..#.##..##..##.#....
|
||||
##.#.####....##..##..####.#######..##....######.##.#....#..#...#.#..#.##.#...#.#.#.#.#..###....#.#.#
|
||||
.##.###..#.###..##...####.###.#.##.###.#...#..#......######.##.##.##.####.##.##....#.#......####.#.#
|
||||
#..###.####.#...#.###.###.#..##.###..#.#.#####..#.##.##.#.##.##..###.####...####..#..###...#.##.####
|
||||
#...............#.##.###...#..#..#.##.##.#.##.#.#...#.#....#..#.######..#..#..##....#.##..#..#..#.##
|
||||
###.###...#...#..#....##.......#.#..#...##...#....#..######..#.....##.####..#....#...##...######..##
|
||||
..##..#..##.#.##..###.#...............####...##..##......#...#.....#..#....#.#...#.....##..#####..##
|
||||
#.....##.#.##.###......###.#.##..###....###..#...#..###.#..#..##...#..#.##...#.#...#..#.....##...#.#
|
||||
..##....#..#.#.#.####..#.#.#....#.#.#.#.##.#..#.#..#..#.#.##.####......##..#...##..#.#.##..#.....#..
|
||||
.#..##....###.###..##....#####.#....####....#.#.##..#...#.###.##..#.....##........###.###.####..#.#.
|
||||
.###.##..#..#...#.#.#######.##.#.#.#.#.###.#.#.#.#......#####.###.#.#.#......#.#..#.#.##..#.##.#.#.#
|
2
data/day_21.txt
Normal file
2
data/day_21.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Player 1 starting position: 7
|
||||
Player 2 starting position: 8
|
420
data/day_22.txt
Normal file
420
data/day_22.txt
Normal file
@@ -0,0 +1,420 @@
|
||||
on x=-8..38,y=-15..37,z=-49..5
|
||||
on x=-35..13,y=-26..26,z=-47..-2
|
||||
on x=-44..9,y=-47..7,z=-18..35
|
||||
on x=-24..20,y=-46..8,z=-10..38
|
||||
on x=-32..21,y=-27..18,z=-43..6
|
||||
on x=-36..18,y=-7..44,z=1..45
|
||||
on x=-48..2,y=-38..16,z=-45..6
|
||||
on x=-47..-3,y=-8..42,z=-4..49
|
||||
on x=-26..25,y=-26..19,z=-37..17
|
||||
on x=-8..36,y=-48..4,z=-26..19
|
||||
off x=-22..-6,y=0..11,z=4..18
|
||||
on x=-5..47,y=-41..12,z=-26..27
|
||||
off x=10..29,y=2..18,z=-22..-10
|
||||
on x=-41..4,y=-33..17,z=-43..10
|
||||
off x=23..39,y=34..43,z=0..18
|
||||
on x=-22..31,y=-28..17,z=-46..-2
|
||||
off x=-34..-20,y=10..27,z=-39..-24
|
||||
on x=-19..34,y=-5..48,z=-36..8
|
||||
off x=-22..-3,y=6..23,z=-33..-23
|
||||
on x=-31..14,y=-41..6,z=-42..11
|
||||
on x=15335..50364,y=23326..35316,z=55710..82802
|
||||
on x=-45558..-26562,y=-2400..4809,z=63478..81702
|
||||
on x=-32547..-2093,y=-80247..-60455,z=-38776..-12398
|
||||
on x=3464..34355,y=-53573..-44765,z=-72270..-45885
|
||||
on x=-9807..20039,y=-68478..-43761,z=-57797..-44099
|
||||
on x=40079..61797,y=-61859..-31418,z=38360..45565
|
||||
on x=62170..82174,y=8028..39169,z=-12590..14034
|
||||
on x=-38651..-30945,y=27847..31103,z=61105..82258
|
||||
on x=37522..61641,y=37254..59332,z=-25804..-10671
|
||||
on x=-60797..-42266,y=-41852..-22898,z=33729..67815
|
||||
on x=-16830..10919,y=-85429..-52622,z=38655..47942
|
||||
on x=-79023..-63744,y=-29720..-25509,z=-13690..6232
|
||||
on x=-4302..17673,y=65726..84939,z=-24802..-1510
|
||||
on x=51984..58644,y=-50863..-29318,z=-62134..-38340
|
||||
on x=17315..32243,y=-78736..-61172,z=-48782..-36452
|
||||
on x=43538..74153,y=-64825..-48158,z=-2168..17349
|
||||
on x=-88874..-56782,y=31756..39638,z=-6822..22577
|
||||
on x=-32751..-16062,y=21829..33445,z=-80369..-58366
|
||||
on x=-53991..-37739,y=24044..41509,z=-63198..-60191
|
||||
on x=45511..57768,y=-60217..-38779,z=4772..14616
|
||||
on x=582..26199,y=-84737..-68753,z=-30138..-10832
|
||||
on x=-76660..-44924,y=-45685..-28606,z=-45497..-26288
|
||||
on x=-16527..7531,y=71113..90437,z=-31015..963
|
||||
on x=-45308..-33442,y=-55174..-46890,z=-62805..-38852
|
||||
on x=-97917..-77721,y=-14020..19196,z=-9834..12916
|
||||
on x=9547..37293,y=47382..79218,z=-40988..-38084
|
||||
on x=11900..40311,y=-88398..-73419,z=-16149..17264
|
||||
on x=-76272..-57431,y=9110..28569,z=-43875..-35650
|
||||
on x=44316..75678,y=49414..51289,z=-16923..614
|
||||
on x=-31873..-16382,y=-86726..-59516,z=-35550..-16645
|
||||
on x=-2001..12126,y=-74226..-66970,z=27937..35348
|
||||
on x=22600..38219,y=-89770..-65203,z=-2468..27615
|
||||
on x=-29020..-18296,y=-40849..-28739,z=-76954..-49958
|
||||
on x=-69947..-45370,y=-26764..-3205,z=-62596..-39633
|
||||
on x=11106..25350,y=-10816..603,z=61373..88869
|
||||
on x=-44616..-19892,y=-58959..-34216,z=58473..65795
|
||||
on x=-8795..947,y=-13768..11224,z=62325..94888
|
||||
on x=65157..94625,y=13584..36634,z=-19744..409
|
||||
on x=8842..29765,y=-76600..-64290,z=-53640..-20221
|
||||
on x=72119..80400,y=-10518..17427,z=-21981..-8210
|
||||
on x=-5366..6510,y=59148..78095,z=24053..43978
|
||||
on x=13458..29969,y=54416..76907,z=-41187..-26771
|
||||
on x=-93261..-60882,y=-24991..-8501,z=12612..18878
|
||||
on x=-65813..-47821,y=-63936..-49169,z=-19769..7195
|
||||
on x=-64400..-34269,y=-35835..-33505,z=46829..66233
|
||||
on x=50461..83244,y=-18960..-12216,z=-50711..-23716
|
||||
on x=30337..47289,y=13642..33900,z=48160..76508
|
||||
on x=-8112..10344,y=1355..15516,z=71137..84477
|
||||
on x=51524..63806,y=17375..48797,z=28977..50170
|
||||
on x=58448..76178,y=21032..43228,z=-27666..-23037
|
||||
on x=-72668..-59446,y=31279..44252,z=25311..54211
|
||||
on x=-27331..-6649,y=-75402..-45015,z=39353..52026
|
||||
on x=-83915..-52531,y=-56122..-21235,z=-15204..8932
|
||||
on x=20340..34983,y=13459..45255,z=67208..82734
|
||||
on x=52204..80044,y=-56662..-21103,z=-6139..5434
|
||||
on x=48343..56665,y=-66449..-46287,z=9391..32105
|
||||
on x=18326..43597,y=63443..65306,z=-58929..-19969
|
||||
on x=-2999..2718,y=-61788..-32532,z=52591..69302
|
||||
on x=35428..65034,y=-55534..-39929,z=29073..56505
|
||||
on x=-564..14337,y=73556..93104,z=-1379..20976
|
||||
on x=-81741..-61409,y=17237..33536,z=44407..50551
|
||||
on x=-87050..-59613,y=-11189..3245,z=-53237..-24697
|
||||
on x=34259..54145,y=20441..36300,z=45810..58640
|
||||
on x=34106..47786,y=61578..84112,z=-12070..1856
|
||||
on x=20918..24706,y=-79156..-61039,z=-9799..16667
|
||||
on x=35957..45020,y=29650..58514,z=-64107..-44220
|
||||
on x=3605..23761,y=-87881..-67369,z=28828..38438
|
||||
on x=-70621..-52430,y=37486..66736,z=-4981..30
|
||||
on x=-33825..-12291,y=-44236..-16695,z=61030..69673
|
||||
on x=-49593..-18848,y=-23981..-11323,z=-79284..-57866
|
||||
on x=-94854..-58471,y=624..16087,z=-31578..-20200
|
||||
on x=-56555..-41220,y=-30410..-5416,z=-78098..-48820
|
||||
on x=-29310..-5333,y=-377..16272,z=-92588..-64906
|
||||
on x=10354..36468,y=45324..65408,z=31417..60527
|
||||
on x=28022..48159,y=61268..65663,z=12438..25427
|
||||
on x=-62602..-33068,y=51567..61033,z=-35345..-28008
|
||||
on x=59685..96646,y=-17225..7947,z=-21655..-929
|
||||
on x=2571..26494,y=-34041..-16342,z=-79107..-62634
|
||||
on x=-69128..-43671,y=37174..57503,z=3638..28066
|
||||
on x=-67589..-48147,y=-73385..-56850,z=-1860..2972
|
||||
on x=-13132..7845,y=-45253..-22219,z=73332..87814
|
||||
on x=14643..27911,y=66417..87671,z=6926..42452
|
||||
on x=55546..59770,y=-68349..-35183,z=13526..42706
|
||||
on x=46458..71581,y=-64188..-39183,z=-37594..-5557
|
||||
on x=52337..87886,y=3073..40107,z=25199..53681
|
||||
on x=-27570..-18038,y=-89728..-75569,z=-8551..19893
|
||||
on x=45880..62073,y=-68855..-56920,z=-18677..7736
|
||||
on x=53736..62220,y=40703..59813,z=23257..45038
|
||||
on x=-76911..-44696,y=-69813..-45549,z=3081..35367
|
||||
on x=31747..54285,y=3689..9419,z=49901..76396
|
||||
on x=41306..59150,y=-61184..-38861,z=29420..47064
|
||||
on x=-3789..19982,y=-70405..-50781,z=36583..62090
|
||||
on x=60232..72621,y=28595..58182,z=7302..23655
|
||||
on x=29066..55476,y=50427..80610,z=17279..37108
|
||||
on x=-74130..-48051,y=9698..30887,z=-55533..-38019
|
||||
on x=20776..22496,y=49080..74957,z=-54917..-24479
|
||||
on x=-42551..-29740,y=-55103..-24976,z=-75473..-58134
|
||||
on x=-513..10228,y=-61404..-54603,z=-56400..-40844
|
||||
on x=4767..24714,y=68526..93217,z=-25864..-16813
|
||||
on x=33270..56249,y=-12736..15165,z=59025..73794
|
||||
on x=56648..94625,y=4068..28093,z=-26382..-8130
|
||||
on x=-42182..-28592,y=31930..50414,z=-72371..-46985
|
||||
on x=35452..53665,y=-40979..-7896,z=50032..72566
|
||||
on x=20439..46512,y=60602..69683,z=10315..32311
|
||||
on x=29946..49103,y=60304..85429,z=-6857..15097
|
||||
on x=-44981..-28124,y=-75770..-62139,z=-41957..-39213
|
||||
on x=1642..15993,y=-74459..-43849,z=46076..65639
|
||||
on x=24231..28876,y=-46470..-27532,z=49508..84952
|
||||
on x=58988..97791,y=-8990..14314,z=-1595..37717
|
||||
on x=66367..88861,y=-35194..-9267,z=-25451..-17485
|
||||
on x=-60774..-33099,y=-72195..-51492,z=-36479..-16367
|
||||
on x=32005..49362,y=30998..48503,z=-63298..-32160
|
||||
on x=-14142..10186,y=-61898..-51952,z=-59283..-47394
|
||||
on x=-19407..11513,y=32878..69244,z=55828..80284
|
||||
on x=45876..77690,y=-58055..-41201,z=-29044..5749
|
||||
on x=-11468..18864,y=75328..84069,z=-4503..25380
|
||||
on x=-35711..-29917,y=-32456..-23606,z=-82918..-55517
|
||||
on x=27301..48443,y=-69479..-34724,z=26664..49480
|
||||
on x=23315..42528,y=-86791..-57800,z=30250..51456
|
||||
on x=60965..90946,y=-14685..10468,z=20339..49517
|
||||
on x=15832..37891,y=-52792..-39704,z=39855..71748
|
||||
on x=-59280..-47097,y=-39141..-17157,z=33266..47528
|
||||
on x=-57855..-35283,y=-39073..-13640,z=-80444..-56846
|
||||
on x=-86133..-58057,y=-27636..-4311,z=-32792..-18848
|
||||
on x=-444..13278,y=22909..49708,z=58690..72477
|
||||
on x=-13881..12856,y=36632..69292,z=56982..70686
|
||||
on x=10985..24603,y=25636..55287,z=-79921..-61711
|
||||
on x=10776..29554,y=4929..33616,z=-82193..-56014
|
||||
on x=17025..38285,y=-47077..-14251,z=-77553..-54577
|
||||
on x=46531..63240,y=-15497..3408,z=56333..68319
|
||||
on x=-64068..-46550,y=-49066..-35557,z=-59104..-37575
|
||||
on x=-66587..-39636,y=2921..14996,z=-73004..-58075
|
||||
on x=-57862..-46129,y=-39458..-13965,z=52019..57063
|
||||
on x=32195..41584,y=-58378..-45157,z=47203..64230
|
||||
on x=59743..64863,y=-24800..7,z=47840..51569
|
||||
on x=-42549..-33653,y=70071..85597,z=-16479..7317
|
||||
on x=-37353..-26663,y=37926..66858,z=34514..62276
|
||||
on x=15487..32009,y=-17818..-4587,z=-88133..-63626
|
||||
on x=39272..60009,y=21713..53410,z=29838..55064
|
||||
on x=14645..18233,y=70285..80160,z=-45717..-26265
|
||||
on x=-59969..-38119,y=-32490..-11158,z=-72565..-48356
|
||||
on x=-37063..-12372,y=34981..61053,z=45674..63318
|
||||
on x=23505..31659,y=-17878..3435,z=69208..88411
|
||||
on x=-28414..-11477,y=75258..76840,z=-18186..-298
|
||||
on x=-49615..-36443,y=47524..71379,z=24823..52483
|
||||
on x=41128..68342,y=42269..56032,z=13167..49004
|
||||
on x=-73556..-62069,y=39819..54100,z=10014..26182
|
||||
on x=11963..29197,y=-16582..13981,z=-94711..-63934
|
||||
on x=-34689..-25577,y=-197..15669,z=-86772..-64172
|
||||
on x=3563..21507,y=64920..83056,z=-38937..-25267
|
||||
on x=61303..75862,y=-22101..-7085,z=30482..64859
|
||||
on x=12131..33975,y=64409..83656,z=-5563..5502
|
||||
on x=-17530..-7065,y=18505..53237,z=69195..78103
|
||||
on x=-10021..16570,y=-55375..-27834,z=-78754..-51628
|
||||
on x=24827..60557,y=-15264..1953,z=51972..86146
|
||||
on x=-71187..-34824,y=-44254..-14207,z=-52397..-35707
|
||||
on x=57352..77735,y=-37604..-15263,z=7507..27978
|
||||
on x=-23726..-7292,y=-55950..-32850,z=-69245..-57628
|
||||
on x=-90975..-70535,y=9138..33894,z=-25893..-10071
|
||||
on x=6070..31408,y=64814..80652,z=22591..57794
|
||||
on x=8916..26303,y=-95224..-59955,z=-10149..8506
|
||||
on x=-68641..-46067,y=34429..59881,z=-39031..-32389
|
||||
on x=-11824..-2711,y=-83201..-74852,z=-14639..7401
|
||||
on x=-53274..-39232,y=35055..53726,z=30474..57011
|
||||
on x=7629..42203,y=50468..73063,z=-55094..-36272
|
||||
on x=70158..83416,y=20571..43112,z=4674..16257
|
||||
on x=-80368..-57194,y=-4962..11968,z=19404..24821
|
||||
on x=13369..36182,y=-17233..3448,z=-75917..-71135
|
||||
on x=64365..90943,y=6390..33440,z=8988..21083
|
||||
on x=-52699..-21144,y=-38040..-854,z=-68245..-58362
|
||||
on x=-65094..-37684,y=-51612..-25807,z=-72281..-53830
|
||||
on x=-79276..-46327,y=-50076..-25744,z=8635..28328
|
||||
on x=-12990..8865,y=41955..75365,z=-62193..-41527
|
||||
on x=58354..78654,y=-11122..4884,z=23338..45638
|
||||
on x=-15424..-6958,y=-81028..-61925,z=-2456..27206
|
||||
on x=-46208..-42140,y=-24044..-384,z=66095..84101
|
||||
on x=37816..60739,y=22510..43834,z=38468..66426
|
||||
on x=33152..40141,y=51888..89118,z=13685..23818
|
||||
on x=-17317..12870,y=47330..75254,z=46415..68934
|
||||
on x=-70083..-47556,y=-16559..9186,z=43131..65529
|
||||
on x=-50028..-37229,y=31881..55480,z=53206..75635
|
||||
on x=-63924..-52170,y=-9878..11562,z=51524..77943
|
||||
on x=52578..79541,y=42477..67139,z=1927..20882
|
||||
on x=12599..36298,y=68728..91625,z=11807..22954
|
||||
on x=-40614..-12787,y=-85532..-54821,z=23444..39179
|
||||
on x=-74256..-57498,y=-43085..-23159,z=-31465..-13370
|
||||
on x=39798..71449,y=48045..59886,z=-2613..24872
|
||||
on x=-68498..-45090,y=25992..41044,z=34996..70831
|
||||
on x=-35911..-17641,y=57891..78052,z=-35503..-20182
|
||||
on x=19600..36506,y=-60275..-34413,z=46970..62424
|
||||
on x=10445..32543,y=72116..79041,z=-26199..-10783
|
||||
on x=29792..52526,y=17488..40185,z=-76990..-57136
|
||||
on x=-15086..-965,y=71043..82224,z=-18100..-6923
|
||||
on x=-66153..-53596,y=45695..50572,z=15633..27979
|
||||
on x=-3842..19280,y=-94095..-71467,z=-2671..21892
|
||||
on x=-20058..-15993,y=75074..85769,z=-4154..29602
|
||||
on x=63662..82628,y=-44024..-18652,z=-42230..-25693
|
||||
on x=-25464..-1609,y=-95242..-69652,z=-16402..-1625
|
||||
on x=-45562..-19451,y=46735..69543,z=42501..55057
|
||||
on x=-63606..-45182,y=-16688..4854,z=57066..69670
|
||||
on x=48099..58149,y=-19817..13065,z=58517..61835
|
||||
on x=60301..78442,y=-31292..-9212,z=-9501..5043
|
||||
on x=-45997..-32832,y=-71865..-55120,z=5197..9635
|
||||
off x=7801..18090,y=-9284..9018,z=70611..90782
|
||||
on x=-12595..18229,y=-95412..-76864,z=-25174..-12583
|
||||
on x=-77795..-50794,y=26612..36830,z=-57817..-32361
|
||||
off x=45538..72963,y=-7083..18302,z=-58100..-48077
|
||||
on x=57536..78656,y=15793..40718,z=-18344..-4567
|
||||
on x=-17242..-13743,y=19611..29304,z=73728..76397
|
||||
off x=55644..86166,y=-29938..908,z=31294..50663
|
||||
off x=37393..52270,y=-7712..7531,z=69523..78383
|
||||
off x=-957..9043,y=77480..91163,z=-33767..-6820
|
||||
off x=-63298..-46056,y=-41261..-28461,z=-65194..-36474
|
||||
off x=-6670..15368,y=64523..98069,z=-13420..-5226
|
||||
off x=-49582..-30819,y=-1458..18304,z=-81337..-44780
|
||||
on x=-58160..-41058,y=-33405..-27020,z=53440..60477
|
||||
on x=-36387..-29527,y=63471..69022,z=24542..35223
|
||||
off x=-55808..-47012,y=-22908..-13468,z=-66925..-53559
|
||||
on x=1465..15220,y=45037..58791,z=57533..81180
|
||||
on x=5172..32790,y=-66253..-52994,z=39031..64718
|
||||
off x=13197..19510,y=68201..87371,z=-20249..-6899
|
||||
off x=8166..26390,y=67577..88576,z=-45114..-31391
|
||||
off x=-58895..-34583,y=-69098..-49904,z=-47979..-14615
|
||||
off x=-40782..-6576,y=67129..85050,z=-37317..-21437
|
||||
on x=-39763..-26856,y=7977..24549,z=-75663..-52000
|
||||
off x=-21464..-6049,y=57481..81630,z=31659..40693
|
||||
off x=-4254..10435,y=33207..56014,z=55750..69967
|
||||
on x=12035..31707,y=-62120..-45336,z=-56717..-28839
|
||||
on x=-65942..-52696,y=-45998..-25934,z=-51194..-32621
|
||||
off x=-90231..-66833,y=-13323..5602,z=29385..35537
|
||||
off x=-54405..-24273,y=52292..77711,z=5027..20918
|
||||
off x=-64432..-51362,y=-47643..-33861,z=-38386..-13148
|
||||
off x=35485..61206,y=-24743..-300,z=50470..64190
|
||||
on x=-64616..-44407,y=-64266..-32556,z=14623..38546
|
||||
on x=22913..41733,y=-69991..-52079,z=-48649..-20477
|
||||
off x=8685..31733,y=2760..9002,z=74103..76071
|
||||
on x=35956..60262,y=49169..87126,z=-6572..12137
|
||||
on x=-43172..-20564,y=-15916..3410,z=55126..75394
|
||||
off x=46980..55817,y=-59630..-43170,z=-39465..-15197
|
||||
off x=12335..28938,y=55440..86727,z=22223..31474
|
||||
off x=-69238..-33811,y=-35451..-11427,z=-68568..-56162
|
||||
on x=9529..30152,y=-62396..-39190,z=-54970..-41011
|
||||
off x=-44344..-15201,y=-24778..6622,z=-75251..-63023
|
||||
off x=-8237..24648,y=-98122..-76129,z=-16626..-11718
|
||||
off x=56007..68228,y=17457..46813,z=27499..47379
|
||||
off x=-25536..3313,y=27091..50818,z=-76013..-70562
|
||||
off x=-867..22452,y=-60444..-40519,z=-71818..-65756
|
||||
on x=-55629..-48209,y=21944..53526,z=-51930..-33309
|
||||
on x=-50200..-32080,y=-26886..-8210,z=-73679..-51881
|
||||
on x=48080..58229,y=42242..66852,z=19778..31076
|
||||
off x=-29293..-9721,y=30767..43132,z=59998..72415
|
||||
on x=-3114..5283,y=53598..77422,z=-36834..-25165
|
||||
off x=-42747..-34862,y=27967..59155,z=46571..59298
|
||||
on x=24734..41081,y=-68020..-55325,z=25073..44789
|
||||
on x=60951..73145,y=-40729..-22896,z=-40218..-24980
|
||||
off x=44699..75378,y=-22976..-725,z=41665..63229
|
||||
on x=-10258..20788,y=-86210..-64265,z=12003..42342
|
||||
on x=53947..72320,y=7162..37399,z=-39895..-13029
|
||||
off x=-39542..-35561,y=56618..75009,z=-48379..-30500
|
||||
off x=-64968..-43128,y=40418..53482,z=15313..28178
|
||||
off x=7725..26338,y=-78820..-72695,z=5793..36253
|
||||
on x=63870..92917,y=-31227..-5907,z=-11799..10524
|
||||
on x=5051..24106,y=-60601..-34349,z=-70347..-50781
|
||||
off x=-49242..-30233,y=1032..28964,z=49055..79885
|
||||
off x=-7682..-1197,y=-2276..3227,z=-83960..-73167
|
||||
off x=-41142..-19190,y=-8859..-4149,z=69429..86603
|
||||
off x=-77189..-65526,y=10147..24751,z=6547..18732
|
||||
off x=61931..87618,y=9150..26031,z=-2891..13845
|
||||
off x=35442..49448,y=-24212..803,z=62461..69557
|
||||
off x=-19670..-1028,y=-58834..-44115,z=-67684..-44360
|
||||
off x=-27003..-6291,y=-90151..-56543,z=-36412..-17679
|
||||
on x=-61239..-56325,y=-28363..-20980,z=-55652..-30421
|
||||
off x=-42704..-15950,y=-24945..-8619,z=-85074..-57059
|
||||
on x=-38301..-22514,y=15426..33207,z=68542..86355
|
||||
off x=-47333..-40889,y=-23607..-16074,z=-75438..-61498
|
||||
off x=-41292..-28792,y=-82764..-50053,z=-18368..1547
|
||||
off x=9879..18027,y=-88040..-55114,z=-31569..-21687
|
||||
on x=29370..47558,y=-89453..-60476,z=-7077..24097
|
||||
off x=-61367..-50375,y=-46813..-36824,z=26048..47897
|
||||
on x=53088..71926,y=33364..61477,z=-32978..-3454
|
||||
off x=42008..72354,y=29685..47325,z=28537..41099
|
||||
on x=-12144..-4590,y=-86532..-70213,z=-27908..-18632
|
||||
on x=45535..66832,y=30184..50465,z=40383..65657
|
||||
on x=-27137..-3917,y=-82970..-73972,z=-7640..2780
|
||||
off x=-62516..-34096,y=-69186..-46618,z=-16989..7170
|
||||
off x=67487..86474,y=2409..32050,z=-57219..-26630
|
||||
on x=-37510..-23310,y=-1063..24320,z=61094..75764
|
||||
on x=-82076..-62319,y=-23916..3119,z=31484..59801
|
||||
on x=-49806..-28744,y=69790..84976,z=-19227..9783
|
||||
on x=19984..27116,y=-92868..-55692,z=-32604..2749
|
||||
off x=-33077..-9530,y=29925..49080,z=45757..72939
|
||||
on x=21129..41298,y=-63064..-48210,z=27986..62228
|
||||
off x=-29272..-15085,y=-41347..-6680,z=-86541..-54306
|
||||
on x=-22795..4538,y=-86979..-68617,z=-33571..-16035
|
||||
on x=37493..54597,y=-12454..3419,z=56314..71570
|
||||
on x=-82969..-54144,y=-48102..-18977,z=-10241..-6489
|
||||
on x=-65493..-38452,y=-69069..-38053,z=-18803..11092
|
||||
off x=-51751..-40206,y=-75215..-47769,z=27129..44917
|
||||
on x=7855..31889,y=-81272..-59497,z=-52331..-25947
|
||||
off x=-58537..-47134,y=-27170..3264,z=-77101..-61961
|
||||
off x=22788..37690,y=-80464..-65932,z=10149..28249
|
||||
off x=56450..90867,y=23748..45680,z=-16199..-4962
|
||||
off x=65348..72838,y=19671..42377,z=-32562..-2385
|
||||
off x=39520..70668,y=-60566..-46164,z=3768..38139
|
||||
off x=31909..43625,y=34147..58043,z=31955..55216
|
||||
off x=-35845..-22464,y=34709..48917,z=-76334..-55144
|
||||
off x=-57710..-22597,y=-89725..-55980,z=455..8523
|
||||
on x=61232..79103,y=-35590..-17557,z=36396..53914
|
||||
on x=13364..37325,y=-52392..-24413,z=49963..75907
|
||||
off x=55123..77795,y=-31348..-5365,z=-35659..-1695
|
||||
on x=-85690..-73087,y=4545..28216,z=17466..35157
|
||||
on x=-62978..-36031,y=44126..49517,z=29388..58437
|
||||
off x=28461..40315,y=-76360..-58542,z=-32869..-2925
|
||||
off x=-55904..-48803,y=56768..61520,z=-18281..7953
|
||||
on x=-75152..-64663,y=-27266..-1204,z=-49037..-29471
|
||||
on x=14996..36802,y=29915..61434,z=-81327..-56940
|
||||
on x=-26058..-12028,y=4310..10903,z=77438..92107
|
||||
on x=-85981..-63107,y=2263..21108,z=27866..47309
|
||||
off x=-23339..-4819,y=-51522..-43086,z=-80984..-57493
|
||||
on x=-80721..-75279,y=-13399..5890,z=6038..32519
|
||||
off x=-4839..4185,y=42901..53425,z=52703..69554
|
||||
off x=-63892..-31605,y=-56660..-42554,z=22041..56754
|
||||
off x=-61974..-48179,y=-76512..-48649,z=19449..28897
|
||||
off x=52908..86032,y=-40433..-26401,z=18629..35218
|
||||
off x=-73770..-61498,y=-22285..-15190,z=15118..47822
|
||||
on x=-26995..-225,y=36166..64844,z=52253..69697
|
||||
on x=-40432..-19434,y=28105..55728,z=45417..66440
|
||||
on x=-36183..-5691,y=2779..35551,z=74466..87231
|
||||
on x=-24042..-7050,y=-38745..-17947,z=71254..91570
|
||||
on x=64292..82292,y=8725..38040,z=16406..46007
|
||||
on x=57881..83142,y=-32026..-25553,z=-12007..9727
|
||||
off x=-60455..-40678,y=-855..18270,z=-54122..-37486
|
||||
off x=34796..51886,y=47838..54855,z=-59782..-36447
|
||||
off x=27962..53686,y=-65713..-39620,z=-39332..-24577
|
||||
off x=23257..38929,y=68865..81212,z=-2301..7985
|
||||
off x=-28125..-11560,y=65596..78401,z=6019..27451
|
||||
off x=-35635..-9089,y=-63378..-32616,z=52224..70756
|
||||
off x=-51366..-40609,y=42282..59056,z=-53065..-31525
|
||||
on x=-65517..-53788,y=45653..57602,z=-9739..5684
|
||||
off x=9928..30886,y=55791..63498,z=39507..58962
|
||||
on x=20773..33156,y=-66617..-45193,z=-55674..-38600
|
||||
off x=-19345..15432,y=-49640..-29673,z=45268..77586
|
||||
off x=-37554..-4675,y=-83671..-65891,z=12746..37002
|
||||
on x=7340..30039,y=26358..37183,z=-72501..-56224
|
||||
off x=23682..38691,y=-57390..-41912,z=36898..59852
|
||||
off x=37320..53907,y=-37056..-30571,z=-68192..-42459
|
||||
off x=76347..91710,y=-14687..16646,z=-25859..-5873
|
||||
on x=10847..41288,y=-91590..-58641,z=15651..35606
|
||||
on x=-3833..3543,y=-29112..-2048,z=69842..91959
|
||||
off x=69115..95898,y=-25974..-2038,z=-4973..3980
|
||||
off x=39989..66412,y=-55818..-49092,z=3921..28857
|
||||
on x=-31644..-6237,y=7358..28925,z=73970..84934
|
||||
off x=-15542..-4489,y=61337..76684,z=-41765..-29786
|
||||
off x=-52932..-51838,y=21389..25746,z=49616..71107
|
||||
off x=-91328..-65484,y=-7351..22080,z=11605..46924
|
||||
off x=26027..32857,y=58474..78674,z=36221..62891
|
||||
off x=-26694..-12337,y=56020..70984,z=-50254..-30734
|
||||
on x=-74728..-50762,y=49755..73800,z=-887..19784
|
||||
off x=11750..40798,y=5403..34501,z=69392..76971
|
||||
off x=-39481..-24584,y=-70257..-44782,z=-51748..-21001
|
||||
on x=-16041..6369,y=-15349..-1878,z=-82221..-72485
|
||||
on x=-26734..-13763,y=-39372..-13681,z=61820..76267
|
||||
off x=-3367..7668,y=46321..72714,z=-69036..-53898
|
||||
on x=-15257..-3788,y=19261..25499,z=-75959..-59000
|
||||
on x=23102..56887,y=50179..87663,z=-7946..18812
|
||||
on x=-40390..-20111,y=-33493..-11133,z=-75926..-62093
|
||||
on x=5722..27917,y=-88605..-65010,z=-9730..6950
|
||||
on x=-760..25848,y=-43841..-27183,z=-73637..-58524
|
||||
on x=-11739..10211,y=2568..29021,z=65720..78213
|
||||
off x=-71222..-55392,y=-13076..5838,z=42985..52804
|
||||
on x=18279..38683,y=-25545..1289,z=58367..91219
|
||||
on x=-70367..-62420,y=22678..57526,z=-25443..-2114
|
||||
off x=52159..80534,y=-35573..-32955,z=-28539..-5813
|
||||
on x=46209..52888,y=54145..79273,z=8459..31178
|
||||
on x=-78062..-41769,y=-43142..-26892,z=28495..50400
|
||||
on x=23299..32235,y=-77803..-61730,z=4898..28371
|
||||
on x=-17235..14679,y=-61639..-27409,z=-72401..-59482
|
||||
off x=54590..78944,y=-25301..2668,z=14280..43390
|
||||
off x=-56259..-38764,y=-70482..-39475,z=-47107..-31976
|
||||
on x=-45205..-34148,y=-81460..-58216,z=22465..49489
|
||||
on x=-21779..-9350,y=6017..19432,z=-77323..-70204
|
||||
on x=58226..72150,y=-61315..-36618,z=-15388..15652
|
||||
on x=-48752..-28573,y=-67697..-60024,z=-32021..-22511
|
||||
off x=43704..67741,y=38024..65329,z=8318..33137
|
||||
on x=-77517..-52505,y=29349..57611,z=-41988..-23676
|
||||
on x=-27878..-6554,y=-88564..-51459,z=-37415..-29030
|
||||
off x=67651..85341,y=-31556..-19564,z=-40554..-13758
|
||||
off x=43857..71515,y=-34759..283,z=36263..60654
|
||||
on x=-32227..-8515,y=-53304..-39055,z=-74694..-49222
|
||||
on x=-69040..-42013,y=-81201..-46547,z=-3366..5445
|
||||
on x=-61411..-46616,y=58820..77348,z=-7626..13600
|
||||
off x=-41475..-28755,y=27623..55447,z=47265..74316
|
||||
on x=-75096..-46289,y=23758..44103,z=31640..48277
|
||||
on x=-54799..-33455,y=39873..75938,z=-43929..-27506
|
||||
off x=-43241..-22153,y=-27047..-185,z=-74727..-63620
|
||||
on x=-47646..-22540,y=2352..5448,z=50643..86636
|
||||
on x=21369..38066,y=-89655..-58838,z=-8317..12371
|
||||
off x=-20000..1689,y=56945..74646,z=35179..51812
|
||||
off x=30874..47890,y=-76709..-52956,z=-33033..-4279
|
||||
off x=-35411..-12807,y=-83057..-59139,z=7854..26851
|
5
data/day_23.txt
Normal file
5
data/day_23.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
#############
|
||||
#...........#
|
||||
###C#D#A#B###
|
||||
#B#A#D#C#
|
||||
#########
|
252
data/day_24.txt
Normal file
252
data/day_24.txt
Normal file
@@ -0,0 +1,252 @@
|
||||
inp w
|
||||
mul x 0
|
||||
add x z
|
||||
mod x 26
|
||||
div z 1
|
||||
add x 10
|
||||
eql x w
|
||||
eql x 0
|
||||
mul y 0
|
||||
add y 25
|
||||
mul y x
|
||||
add y 1
|
||||
mul z y
|
||||
mul y 0
|
||||
add y w
|
||||
add y 2
|
||||
mul y x
|
||||
add z y
|
||||
inp w
|
||||
mul x 0
|
||||
add x z
|
||||
mod x 26
|
||||
div z 1
|
||||
add x 14
|
||||
eql x w
|
||||
eql x 0
|
||||
mul y 0
|
||||
add y 25
|
||||
mul y x
|
||||
add y 1
|
||||
mul z y
|
||||
mul y 0
|
||||
add y w
|
||||
add y 13
|
||||
mul y x
|
||||
add z y
|
||||
inp w
|
||||
mul x 0
|
||||
add x z
|
||||
mod x 26
|
||||
div z 1
|
||||
add x 14
|
||||
eql x w
|
||||
eql x 0
|
||||
mul y 0
|
||||
add y 25
|
||||
mul y x
|
||||
add y 1
|
||||
mul z y
|
||||
mul y 0
|
||||
add y w
|
||||
add y 13
|
||||
mul y x
|
||||
add z y
|
||||
inp w
|
||||
mul x 0
|
||||
add x z
|
||||
mod x 26
|
||||
div z 26
|
||||
add x -13
|
||||
eql x w
|
||||
eql x 0
|
||||
mul y 0
|
||||
add y 25
|
||||
mul y x
|
||||
add y 1
|
||||
mul z y
|
||||
mul y 0
|
||||
add y w
|
||||
add y 9
|
||||
mul y x
|
||||
add z y
|
||||
inp w
|
||||
mul x 0
|
||||
add x z
|
||||
mod x 26
|
||||
div z 1
|
||||
add x 10
|
||||
eql x w
|
||||
eql x 0
|
||||
mul y 0
|
||||
add y 25
|
||||
mul y x
|
||||
add y 1
|
||||
mul z y
|
||||
mul y 0
|
||||
add y w
|
||||
add y 15
|
||||
mul y x
|
||||
add z y
|
||||
inp w
|
||||
mul x 0
|
||||
add x z
|
||||
mod x 26
|
||||
div z 26
|
||||
add x -13
|
||||
eql x w
|
||||
eql x 0
|
||||
mul y 0
|
||||
add y 25
|
||||
mul y x
|
||||
add y 1
|
||||
mul z y
|
||||
mul y 0
|
||||
add y w
|
||||
add y 3
|
||||
mul y x
|
||||
add z y
|
||||
inp w
|
||||
mul x 0
|
||||
add x z
|
||||
mod x 26
|
||||
div z 26
|
||||
add x -7
|
||||
eql x w
|
||||
eql x 0
|
||||
mul y 0
|
||||
add y 25
|
||||
mul y x
|
||||
add y 1
|
||||
mul z y
|
||||
mul y 0
|
||||
add y w
|
||||
add y 6
|
||||
mul y x
|
||||
add z y
|
||||
inp w
|
||||
mul x 0
|
||||
add x z
|
||||
mod x 26
|
||||
div z 1
|
||||
add x 11
|
||||
eql x w
|
||||
eql x 0
|
||||
mul y 0
|
||||
add y 25
|
||||
mul y x
|
||||
add y 1
|
||||
mul z y
|
||||
mul y 0
|
||||
add y w
|
||||
add y 5
|
||||
mul y x
|
||||
add z y
|
||||
inp w
|
||||
mul x 0
|
||||
add x z
|
||||
mod x 26
|
||||
div z 1
|
||||
add x 10
|
||||
eql x w
|
||||
eql x 0
|
||||
mul y 0
|
||||
add y 25
|
||||
mul y x
|
||||
add y 1
|
||||
mul z y
|
||||
mul y 0
|
||||
add y w
|
||||
add y 16
|
||||
mul y x
|
||||
add z y
|
||||
inp w
|
||||
mul x 0
|
||||
add x z
|
||||
mod x 26
|
||||
div z 1
|
||||
add x 13
|
||||
eql x w
|
||||
eql x 0
|
||||
mul y 0
|
||||
add y 25
|
||||
mul y x
|
||||
add y 1
|
||||
mul z y
|
||||
mul y 0
|
||||
add y w
|
||||
add y 1
|
||||
mul y x
|
||||
add z y
|
||||
inp w
|
||||
mul x 0
|
||||
add x z
|
||||
mod x 26
|
||||
div z 26
|
||||
add x -4
|
||||
eql x w
|
||||
eql x 0
|
||||
mul y 0
|
||||
add y 25
|
||||
mul y x
|
||||
add y 1
|
||||
mul z y
|
||||
mul y 0
|
||||
add y w
|
||||
add y 6
|
||||
mul y x
|
||||
add z y
|
||||
inp w
|
||||
mul x 0
|
||||
add x z
|
||||
mod x 26
|
||||
div z 26
|
||||
add x -9
|
||||
eql x w
|
||||
eql x 0
|
||||
mul y 0
|
||||
add y 25
|
||||
mul y x
|
||||
add y 1
|
||||
mul z y
|
||||
mul y 0
|
||||
add y w
|
||||
add y 3
|
||||
mul y x
|
||||
add z y
|
||||
inp w
|
||||
mul x 0
|
||||
add x z
|
||||
mod x 26
|
||||
div z 26
|
||||
add x -13
|
||||
eql x w
|
||||
eql x 0
|
||||
mul y 0
|
||||
add y 25
|
||||
mul y x
|
||||
add y 1
|
||||
mul z y
|
||||
mul y 0
|
||||
add y w
|
||||
add y 7
|
||||
mul y x
|
||||
add z y
|
||||
inp w
|
||||
mul x 0
|
||||
add x z
|
||||
mod x 26
|
||||
div z 26
|
||||
add x -9
|
||||
eql x w
|
||||
eql x 0
|
||||
mul y 0
|
||||
add y 25
|
||||
mul y x
|
||||
add y 1
|
||||
mul z y
|
||||
mul y 0
|
||||
add y w
|
||||
add y 9
|
||||
mul y x
|
||||
add z y
|
137
data/day_25.txt
Normal file
137
data/day_25.txt
Normal file
@@ -0,0 +1,137 @@
|
||||
>v...>vv>>>...v.>>..>v>vv.v..vv..v>>.v....>v.v>v>vv.v>v..vv...v>..>v...>..>....>.>.vv.v..v.v...vvvv.vv.vv.v>>v..>...>.>.>..>v.>.>..>v.>>.v>
|
||||
v.v.v.>>>..v.v...v>>v.v.>v..>v>v...>.v..>...v.>.v.v...v.v.v>.v>vv....>.v.>v.v>v.>>........>>..>.>.....vv...>..v..vv>.>...vv.v>>...>vv......
|
||||
vv...>v...>v>v>..>>v.v.......>>vv>..v.....vv>..v>>....>v.v>v>vv..v.v..>.v.vv...>v...>v>.v...v....>.>.....v.>v.>.>.>.>.>....>.v...>...>.vvv>
|
||||
.vv>..v.v...>.>...v>.v>v.>>.>.v.vv>.>vvv>vv.>v...>v.v..>.v...>...v.>>vv..v.vv.>vv.>>v....v.v>>.>>vv....>...v.>.>.>>.v>.>..>vv>.....vvv.....
|
||||
>>v....v..v.>.>..vv.v>..>vv..v.........>v>>...vv>..>...v.>>>v..>v...v...v..v..vvv.>>vvv..>>..>v.v.v.v>.v>v.v>....>>vv.>>.>..v>...v....>..v.
|
||||
>.>..>.vv.vv>>>vv..v.>>.vv..v>...>..vvv>...v..>>..vv..>v..v..v.v>.v..>>.....>.vv.>.....>..>>..........>.>>>...v.>.>>.v>.v.....v>>vv.v>.....
|
||||
.>.v..v.>...v>>vv.>.>.>.>v...v.>.v..v.>..v>...>>>..v.>...>v.v>.>..v.vv...>v.v.v.>....>v.vv>...vvv.v....>.v.>.vv>...>.....>.>vvvv.v...v..v>>
|
||||
.....>>>>...v.vvv.vv.......v..v.>.v>.>>.v.....vvv.v>v.vv...v....>>.>.vv.>..>v....vv...>v.>v..v>.>....v..v>>v..>.>...v..v.v.>..>v..v.v>.v...
|
||||
.>>..>v.v..v..>.v....v.v..>.v.v>..v.....>>.>v.v.>.>..>.......>>..vv>.vv.v.v..vv....>v>v>...>....v...vv...>.v..v.>..>>.v...>.v...vv...v>>vv>
|
||||
..>.v..v....vv>.>.v...>v.vv>vvv>.>..>.>.v.v>vv.v..>>>..v....>..vv>v.>v>.>vv.v..v>>.>.v>...v.vvvv>>.>.v....v.......>>.vvvv>.>v>>>>>.>v..>>>v
|
||||
v>..>vvvv.>v.......>.v>.vv>...v>.>v>>..v.v>v..v>>.>>.>>>vv..>...v...........>..v>.v.v.>....v..v.v>.....v>.v.>....v>>.v>v....v>>v.vv..v..v..
|
||||
.>.>>>>>.>........>..vvvv.v.>>v>>>.v.>..>.v.v...v>.>.>.v.>..vvv.>.v>..>.>.>....>.v>vvvv>.v.>..v>>>.>.vv>.>>v.vv>v>....v..v>.>vvv...>.>....>
|
||||
>..>v.>>>vvv...vv>vv>vv..v.>.v...vv.>>.v>>>.v.v>..>.>...v>..>v.v>>>>..>.>v.>>.v>.vv.>vv.>.vv....v>v.vv.v>.vvv>....>.v>.vv>v>>..>.>.......>v
|
||||
v....>vv.v.......vvvv.>>..>>vvv..>>>v...>v>...>>..>.v...v.vv.v.>v>...vvv.....v.>..>...v..v....>>.>.>v>.v...v.>.v..>v>v..v.>.>.>v.v.>....>.v
|
||||
v...vv..v>.v.v>>...v..............v>..v>>>..v>....vv...v..>>...vv>...>v>>..vv>vv.....v>..v...>.>.v.....v.v...>.v>..>..>..v..vv...>>.v...>.>
|
||||
>>vvvv.>...>v.v.v.vv.>.>.>.vv...v>.>.v.>...v>v>.>.vv>vv>v.>.>>....vvv.>v.v..v>v>....>>..>v>..>....vv>......v.>vv.v.v.v.v>>..>.>.v>.v>vv.v..
|
||||
.v..v>v.v.vv.v.vvv>.v.>v.v..v..v.vv...>>vv.>>..>v.>v.>.....vv.>v..>.v.>.v..>...>v>vv....>.>vvv>..>>..v..v.>>v>v.>>v>.>v..v>...v..v>.v...v>v
|
||||
>.v.>...>..>vv...vvv.>.v.>.>v...v.....v>>>.v..>..vv...>>>..v.>.>.>.>>>.....>>..>.>.>...>.>>.vv..>.....>..........vvvv.v.vv.vv..v>>.v>...v..
|
||||
...v>v.>>..>v..>v>v.v..v.>.>.v..>vv>...vvv....v....>>>.v..>..v>>>..v....v.>........>...v>...>>>.>v...v>v>>..>>.>>vv>.vv.>..>>>.v>>.>..v....
|
||||
v.v.>...v...>v.>>>>>.v.>..>.v.>..>>vvv.>>>v.>vv....>.>..>..vv.>..>v.>.v.v>vv....v>.>.v..>....vv.vv..v.....>.>v>...>........>v...v..v>>v>...
|
||||
v>.>.>..v>.>>v>...v..v.>.>>.>....v>.>v.v.>v.>.vv.....v>v.>.v......>.>v.v>.v..>.v..v.>v.>vvv>vv.v....v.v>....v>vv...>v>v...>>....>.>.>vv>.>.
|
||||
.....>....v...v.....>>>.>......v.>>v.v.>..vv>..v..v.v>..v>.>..v>.>vv..vv..v.v>>>v.>>>..>>.>.v.v......v.....v.>...vv>>>.>.>>>.>>vvv..>>v....
|
||||
.v...v...>.....v>>.........v.>>>v.>.v..>>v>.v.....>.>.....v>.>..v...>..>.vvv.>>.v.>v>..v.>>..>.>v>>>>.>.>v..>>...>v..>>..v.v>..v.>....v...v
|
||||
.vv.>..v.v>..>v..>.v>>.vvvv>>..v>.v.v>.>v>..>>.>....v.v.>v>...>v>vv>....v..>.>.v.>>.v..v>vv>>.>.v..vv.v.>..>.vv.>v.....v>>.v>.>>>v..v..>.v>
|
||||
.>.v.>..v.>.v>v.>>.v>>...v>.>v.....v..v.v.v>>>..v>.>>>>....>v.>.>.>.>..v..v.vvvv>>v.v>.>v....>.>.>>.>>.v..v.....v>v.>.>vv>.v.vv>.v.>vv.>v>.
|
||||
>>..vv.......>v>v.v......>..>..>....v>v..>vv>v..>..>v>.v...v>.>.v..v>v>v>.vv.v>v.>..>..v>v..>...>..v>....v...>v.>...>v.....v>v..vvvv>v>.v>.
|
||||
.>>v>.v...v.vvvvvv.v>.>.>..>.v...>..v.>>v.>v.>>..v.>>>v>>v.>.>.>v>..vv>vvv.v.>..>.>>v.vv.>>>.>>>.vv.>..>>..>v.v>>>vv.>>>vv>..>.>...>.>>>>>.
|
||||
.....>..v.>vv>vv.vv>v.>v.v....v>.>.>v......>...v>>>v.>...>.v.>v.v>.v>......>>.....v.>v>>......v..>>.>.v.vvv.>v...>...v.>v>v..>.>.v>..>vv>>>
|
||||
v...>v...v>>v.v.>>>>...>.v..vv.v.>>..>.>vvv.>..>.v>..>..>vvvv>.>>...>v...>...>.>.>.v>v..>.v>...vvvv>.v>>.>>.v>v>>.v..v...v>......v.vv...v..
|
||||
.v>>v>.vvvvv>>....v>v....v.>v.vvv>vv..>...>.>.v..>>v..>>.>...>>>...v.v>.>>.>.>.vv.>>.....>..vvv>v..>v..>.....>.v.vv...>>v.v....v....>.v.v.v
|
||||
v...>.vvvv..>v...>.v...>>.>.v.>>v>...v>..v>>.....>>v....>>>>.v>>.v.v...>.>v..v..v...v..v.v>v>.>..>vv.>.....v>vvvvv..v..>v>>v..>.>v>..>v.>>.
|
||||
.vv..>>.....v.>.vv>.vv..>.vv...v.v>vv...>v>....>.v....v>v..>..vvvv>.>>...>..>.>.>vv>>.v>.>>vv...>vv.v>...>.>.>>v.vv.v.v>..>v..v>>..v>.vv.v.
|
||||
v...>>>.>>>v>>...v.>>>>v...v..>.>.>.>.......>v.>....>>.>v>.v...>>vv>v.v...>>.>..v..vvvv>..>>.>>v.........>vv.>>..vv...v>....>v..v>>..>....>
|
||||
.vv.v...v..vv.v.vvv..v>v>v>>.......>.v>v..>....v.>>>.vvv.v.>.>.>v>>.vv>..>v>.>>.>...>>>..v.>.>.>v....v>>.>.>.>v....v.v..>.v>.>vv.v..>...v.v
|
||||
>.>.>v.vvv.>>.>>vv...v>.....>>>..>.....vvv.>.v>.>..v>.>.v...v.v>..vv.>>v>vv.>v.v..v.v..vv....>v>>>...v..v>.vv>v.....v.v.v.>.vvv>.v..v>v.>>.
|
||||
.vv...v>.>.v>.v...>>.v..>v...>v.>>>.v.>.v.>..v.vv.>..>v>vv.>>v>.>vvv.>v>v.>.>.vv.v>>>.v>.v>..>..v..>vv....>>v.vv.>.vv.vvvv>.v.>>.>>>>>...>v
|
||||
.vv....v>>.>...v....>.vv.v.....v>...>.v>vv.>.v>v>....>...v.v>.>.>.v..>vvv.>>.vvv..v>..v>.....>v>.>v>>>v>>............vv>.>.>>..vv.>..>...vv
|
||||
....v.v..>v>>.v.v>>>v..v>.>.>>>>...>>..>>.v...v.v.>..v.....>.v.>>>.v.>vv>...>v>>.v.v.>..v.....vvvv...v.v>>..>>.v.v.>>.v.>>.>>.>...>>v....>.
|
||||
v.>>>.v.....v...>.>.v>..v.vv....>..>>v.v.vv.>.v>.......>>>vv...v.v>.>.v>..v.v.>>...>v>>.>..v...>.v>v..>>...v>>.>.vv...v>.....>>.>>vv.....v>
|
||||
.v.>vv.>.....>v>.v>.>vv>.v>...>.>>...>.>..>v...vv.>.vv.>vv.v.v.v....v.>>.>>..>v.....>v..>v>.>.>.>.vv....vv.>.v>>....vv.v>...v>..v.>v....vv>
|
||||
..v.v.vvv>.>.v....v>v....>v...>>v.v>.......>..>.....>>v.>..v>>.v.>>>.>vv.v..v..v...v.v.v.>.>...v.v.....v.>vv>.>..v..v....vv>.>...>..>v.vv>.
|
||||
>.>.v>.>.>v>v...>v..>.>.vv.vv..>>>.v..>>.v......>>.....v...>>vv>.>>..>.>..v.>.v.>>>.v>v.....>.>v>...>>>>.>v>.>...vv>>.>.vv..v>v.>.vvv>>>..>
|
||||
.v..>..v>>......>..vv....>v.....vv..v.>v>v>.v...vv>v...>..>.v.......v>v..v.>.>>v>.v.>.>.v>.>>....v...v...>>...v.v..>>>v...v...v.v.>.>.>..>>
|
||||
...>.>......>>v.vv..v>.v....>...v.>....v>.>.>v>.>.>...>.>.>v.....>>.>.>..>>..v>>>v>>vv.>.v..>.>.v.>.vv>.v....vv.>v>v>v.>..>.....>....>.>>>v
|
||||
.>......>>.vv..v..vv>v.>...v...>..v>v...v>v>v>..vv>vv....v...>...v>v.>v>>...>..vv....>..>>.v.>..vv...>.>.>.>>...........v.v.>....>.>>..vv..
|
||||
.......v...>>.>.>vvv.v>..>.v.......>v..>..v..>v>vvv..v.>>v.vv.v.>>>.>v>>.v.vv>>>v.....v.....v.vvv..>vvv.v>v....>v...>>....v.>..>..>.>v...>>
|
||||
..v...>v>>>v>...>>...v....vvv.v.v.>..vv...>..>v.>.>>.>>>v.v.>.vv>.....v>.>..>>.v>>.>...>.v..>v>......v...>>.>v>......>>>.v>>..>....v>.v>v.v
|
||||
v.v...>..>..>>...v>>.>..>..v>.>v.>>>vvv.>..>v...>v.v.>.>>.....>.>.>v.......v..v.v>.........>.v.>>.v>>....v.v...v.>v>>vv......v..v.v..vv.v.>
|
||||
.v.v.>..>..v...>.vvvv>.v>>..>.>.v..v.>>..>.v>....>>v.v.v..vv...v>>v...>...>.>.>>v>v.vv..vv>..v>>>..>.v.......v.>v>v.v..v.>>v>....v>>...>...
|
||||
v.v...>..v.....v.>...>.>.v.>......v......v>.v>..v.......>>.v..v.v..>v..v...>.>...>.>>>.....vv>.>>.v..v.>vv>vv>..vv.>.>.>.>..>>.>.v....>>>>.
|
||||
>>v.>>....>.>v..>.v>vvv>.>>>.vv>.>>...vv.v...>>v>>.>vvv..>>.>..vv..v>>..>vv>v.>>.v...vv..v..v>v....>...v.>.v.v>.>vv>..>>vv.>.vv.v>..>.>>...
|
||||
v>....>.>>..>>vv..v...>v..v>.v...>>.>v>.v.>>v.>.>vvv>.>.....v>.vv.>.v>>.v>v.vv>..vv.vvv>.v>>.....v>.v....>..>..v.vv.v...>......>...v..>..v.
|
||||
...>>.>v...v>>>.v.v.>v.>v..v.>v.v.>v.>v>...v.v.v>vv>.>>..>.>vv.>.......>.....>>>.v>.>>v>v.>v...>.v..>v...v..vv>.v...v..vv>....>>>.....>v.>>
|
||||
....v.....vv>>....v...>...v...>.v.v>v>>v..v>.>>.v.>>v>.....>>>.>.....>...>..v......v.....>>>...>>>.v>....>v>.vv>v.vv.>.....v.>v.v>..>...>..
|
||||
>...>vv..vvv..>..v.>>>.>v.>>..>v...v....>v.v.v>...>>v>.v.>>>....>>..>v.vv...v>.>>..v.v.v.....>>>.v>...>.>vvv...vv.....>...v>..vv.>>..v..v..
|
||||
.v....>>v.>>>.>.>...>v>.v>..v>.v>.vv..>.>....>.v..v.vv.>.>>.>.v>....>..>.....>.>vv.>.vv..>......vv.v>.v>>>vv>..>.>...vvv.>..vvv.>>....vv.v.
|
||||
>...>>..>.v..>.v.>..v...v..>>v...v>.>..>..>.vvv..vvv.v>.v..v.>.v.....>.....v.>.v...>.....v.v>v..v.v>...>..>.v..>v.vvv>.v..v>vv...v.>.vvv>>v
|
||||
.>.v.>>v.v..v.>>>>......>>.v.>..>v.v..>........>.>>>v...v...>...>...v>..>.v...v.vv.v.>v..>v>...>v.....>v..>...>....v>>..v>>v>.v>>>>v...>>.v
|
||||
vv...v>.>.v.....vv>>v.>.v....>>v>>.>.>.vv.v.v...vv.v.vv>>.>....v>.v.>.v.v.v.v>v..>.v>..v.v>>vvv..v..>.>vv.>..>..>>.>>...>.>v>>vvv..>v....>.
|
||||
...>>vv.>v..vv.>>..>..v>.v...v>v>...v>...v.vv.>......vv.>>vv.>v>.v>..v>>..v...v>v>v.v.......v.>.>>.....v...>v..>>>.vv>v>..>.>v...>>..vvv.v.
|
||||
...v..vv>v.>.vv>.>..vv.vv...>v.v.>v>.v.v..v>.v....vv.v.v..>.>>...>v.vv.>...>.v..v>v>>vv.v....>....>vv.>.vv..>.v.>>>v.>..>>v..vv....vv..>>v.
|
||||
vv.v...v...>>v.v...>.>.......>..>..vv>v....>vv..v....v.>vv.>.>..>v.v.v>..>...v>.>.v..>..v>>vvvv..>v>...>v>.v>>>...v..>.>vv..v>>>....vvv..v.
|
||||
.>>...vv.>.>v....>v.>>>.>.>.v.>...vv.vv.....vv.v>v....>v.v..>.vv>>>.v.>.v.>v>.v.v>....v.v.v..v.>.vv.v>v.>.v.v>>v>v..v...>..v..vv...>vv>.>v>
|
||||
>vvv...>.vvv.vv>v.>....>.>>....>>.>.>>v.....>v.v.v.>.v.v>.>v..>.>..v>v...>>>>.>vv>v.vvv.>vv>v....v>>>.v..>.v>vv.......>....vv>>.>>.v..>v..v
|
||||
.v.vv.>..v.>v.v.vv....>>>..v.v.>>v.>.>...v.v>v>v.>>vv..v.>...vv>.v...v...>...>..>v..v..v.>>v>>..>>>>>.>>.....v.vv..vv.>.vv..>.v>...v>.v.>>v
|
||||
.v.>.>v.......>v.>>>..>.>>>.v.>.>...vv>v..v..>.v...v.....>.v>.>.>>>v.>.v..v.vv..>.v.vv.>>.v.>...>v>>..v.>......v...>.>..vv.vv>...vvvv.....>
|
||||
.v.vvv.v>v..v>...v>vv>>>>vv.v>...>.vv.v.>..v>..>....v>v.v....vvvvvv>>..v...>>>vv.....v.>vv.vv.vv>.vv>.>>.>..>......>.>...>.v.v.v.>v.>>..v>.
|
||||
>v..>vv.....vv.v.v.v>.>v>>vv>>>.vvv..v>...v>...v..>v>v.>...>..v.>v...vv.>v..v>.v.>....v.>.>>..>.v.vv.>..>...vv>v.>.v>vv.>>>vv..>.>>..v..v>.
|
||||
>..>>v>>>v>.vv.>>.v...v.>.>vvv....v.>.v>>.>...>>.vv.v>.v.vv>v...>..v>...>.>>.v.....v..>..v.v>...vv>v>v...v.>..>v>>v.>.>..v>..>..>..>>v.>.v>
|
||||
>.>..>>..v>v.v>v.v>..>>...>.vv...>.>>.vv>.....v...vv......>v.v.>.>.v..v.v.v.>>>v.>>>v.v>.v>v.>v..>..vvv.>>>v....>.>v...v..>......v...v...v.
|
||||
>v>>>>.>v.v.>vv..........>v>vv..v......>..v..v..v.vv....v>v>>>v>v>>..v..>vvvv.>>>v.v..v.v.....>.>..>...vv>>v..v.v.>>v.>...v>vv..v.>.>>>vv>v
|
||||
..vv...>...>v>....>..>v.>>vvv>.>.v>>..>.>>>>>..>vv>........>v.v.vv..vv>>.vv.>>>v>vv..v>>...v>>>.v...>....>>.>.v.v>.vv..>.>.>v.>..v...v>>>.v
|
||||
v>.>.v>v>vv..v>.>.>..>>>>...v>.vv>>......v.....>....v.>.>.>..>..>.v......vv.v...v..v.>..>>.v>>.>.>v.v.>....>.v..v.vv.vv>v>>>v>>vv.>>.>.v>..
|
||||
>..>.>....v>>v...v..>>v....v.>...v>.v>>...v.>v.>..>.v.v>vv.>.v..v.>..v.>vv.>.>.>>.>vvv.>.v.v>>>.vvv.vv...>.v>>vv.v>vv>v.....v..>.>.>>>vv>..
|
||||
.....v..v.>>.vvv.>.v..v.>v.v.v..v.v..vv..>.v...v.>..>>v>v..v....>>.>..v...vv.v>.v.v>..>.>vv>..>>.vv..v.>v>v...>.v.>...vv..>>v.v>v>>.......v
|
||||
v.>.v.v.v.v.v...>.v>.v>>v.>.>..>.....>>..>.>.v..>v>.v>vv>>..>.....>.vv..>..>....v>.v.v..v..>>v.....>....v>v>...v..>....>.>v..v..>vv.>.v.>>>
|
||||
.vv.....>.vv....v.>.v.v.......v.>.vv>>>>..>vv..v.v..v>...>..>..v.v..>..>.v.>.v.>>......>v.>..v..v......>.>...vvv....>>......v>>..>v.>....>.
|
||||
>v..v....>>>>.>......v>.>>.>v.>...v.v>>.v.vvv...>..v>>..v>v>>>.vv.>>v..vv.v>>>>v..>>>.vv.>>.v>...vv..>>.vvv.>.>>v.....>.>v>.v..v>.>>>..>.>v
|
||||
v......>.>vv...vvv.>.>v.>v.v....>..vv..>...>>>>.vv>v.>..>.v>..>>...>>>....vv..v.v..v>v>......v...v..vv.....>.>>v.>..>>.>.v.vvvv...v>>>>v..v
|
||||
.v>vv>>..>>.v.vvv>v.>>v.v.>.>.v.v>>>..>>..vv.....v....v.>.vv..>>v>.v..vv...v>.v.>vv>.v.>v>>>.vvv..>..vv.vvvv..v..v.>..>.v>>.v..>...v>...>>v
|
||||
>..v.>..v.>v>>vv.>..>>vv.>v.v..v>v>>.v.>>>.>>vv..v.vv.>>>.vv.>...v.>vvv.>>v..v>v>.>v..vv>...>....vvv...v.v>>.v.>..>>v....v>>>....v.....>vvv
|
||||
.>.>..vvvvv.v....>>.>v..>.>.>.vv.>v....v.vvv>v.....vv.>v>vv...>v>.>..>>>v.v..>v.v..>vv....>...v.>...>>....>.>vv.v>v>.v.vvv.v.>v.v.vvv..v.v.
|
||||
.v....v>....vv.>vv.>>.v.>v.....>.v.......vv.>.>..vv.>v>....vv..v...>v>.v...v.v..>.>v.v>v>....v>....>>>....v>..v..>..v..>>>....>>v>>.>.>.vv.
|
||||
..v.>.....>>.v....vv...vv.v.v>.v>>>vv>>v..>v.vv.v>.>>.v>v.v.>..>.>v>...v...>.v>....v>....>>..vv.v>...vv.>.v..>>.v>.>>..>>.>vvv>>..v.>vv..v.
|
||||
...>vv.>.v...>v.>>>..v>.v>..vv..>v...v....>v...>>>>..>>>>.v.>>...>v.vv.v>>vvv.>.>>.>.>..v>..>>.>v.vvv>..v>.>v>.v.>..v..>vv>....v>....vv.>.>
|
||||
...>>v.>.vvv>..v..>>.vv....>v.vvv..>v.vvv..vv..v.>...vv..>v.>..>.vv...vv.>..>>.>vv>.v.v.v>...>..v>>>..>>>>..>v>...>.>.v..v...>v>.v.>>.>.v.v
|
||||
.v.>v>>..>v..>.>>...>..v.v...>>>>v.v....v.>.>>vv..>.>..>.v>......>>>..vvv.....vvv.v>vv....v.>>.v..>..>>.>v.>>v.......v....v>.v...>.>>>.vv.>
|
||||
>v.v>.....>.>...vv..>v..vv.>>v..vv>>.vv>.>>.>v...v.v..>...v.>v>>v>...v>>>v>>..v.....>..v..>.v...>.>>.>>>.vv>>...v...>v>>.>>v.v....>>>..v...
|
||||
....v>v...>v>..>.>>......>.vv.>..>>v.v..v>v.>>v>v>.vv.v.>.vv..>..v>........>.>....v..v>.....vv>v>...>.v>>.v.>.>.....>>>....>>>.>..>.v...vvv
|
||||
.>v.v.>>>.v.v>.v......vv>>v.v...v>>.v>v.v>..>>..>..vv>...>v....v>.>.>..v.v>vv..v>v....vv...v....>>...v>>.v.>>..>vv>.>...>...>..>v...v>>v>>v
|
||||
>v>..v.v.>.vv.v.>..vv>...v.>..vv.>vv..>..vv..>v..v.vv.>>v..v>>..>vv.>.v>vv>...>..>vv.v>.vv>.>...>v>v.v>...>..>.>.>v.v>>..v.v>>v.vv>.v>.v...
|
||||
v.>>...>>..vvvv>.v.>>>v>..v>>.>..>.>>.vv.vv.>vvv..>....vv>.vvvvvv.>>....v>...v>.vv>v.vv.v>...>v>.........vv......v>vv.>v.v.v..v>.>..vv.v>v.
|
||||
v.>..vv...v.>>.v.>>.>.>>v>.>.v.vvv.>.>v>>...vvv>....>>..v>vv..>>v...v>>v.>>vvvv..v.>v.v>v>v..>v.v.v>...vv.>.>..v...>v>..vv>v.>...>...v.>.>.
|
||||
>>.>.....v..>.........v..>.v>>v...v..>>.v.>.>v.>v>v.>>..>.v...v....>v.v>.>v.v>.>vv>v>vvv.vv.v>....v>vv..>..>.>.....v.v.>vv.v.>..v.v.vv.v.>v
|
||||
.>>..vvvvv.>v>>.v.v>>.vvvv..v...v.>.vv.v..v>>....v.vv>..>...v..vvv>>>..v.>.>.vv>>.vvv>...v>>..>v...vvvv>>v>..v.>v.>.v.v..vv....>..v..v....v
|
||||
.v.>..>.v.v..>v...v.>v>..v>>>.vv.v..vv>......>......>.>>..vv.......>...vv.......>....>>..>..v...>..>vvv.....>...>.v>.....>.>....v..>..v>>>.
|
||||
vv..vv.v..>>..v.>>>.>.>...v.v.>v..>.vv>..v.>vv.>.v...vvv>v...>..v..>>.>v.v.>v.vv.v>v>..vv....>.>...v.>.v...>.>...v.v....>....vv..>.v>>>.vv>
|
||||
v.>.>......v....v>.>.>v...>.vv...>v.>...>..>.>vv.v..v>vv>..>>.>v...>>>>v..v..v..vv.v...>....v..vv.>>..v>.vvv>.>........>>..v>.>>.v..>..>v.v
|
||||
..>>>v..v.v...v.....vvv..v.v.>.>.....>...>..>v>...>v>.v.>>>v.v..vvv...v.vvv>v.vv>.vv>.>>>>.>v>.>..v..>.>>>v..v.v>.v>..>.>v.>>.v....vv>>>>>.
|
||||
vv..>..v>.....v..>v>>..>>..v...>..>..>.v>v.>>.>v>v.v...v>>>.v...v>...>..v.>>v.v...>>v>.v>......v..>.....vvvv..v.vvv...>....v..v.v......v.>>
|
||||
>>..v.>..v..v>v...v....v....>.v.>.vv....>>.v.vvv.v>>....>>.....>...>vv..>...v...v>.v...v..vv.>.vv>.v..>.>.v..vv.v.>>.vv...v..>vvv>.vv..v>..
|
||||
v>v.v>>>vvv...v..>>>>>...vvv>.>.v..>v.>>.vv.>.v.>.....>.>..v>..>>.>v>.vvvv....>...v>vvv>..v...v....>>.v.>.>>.v..>.v.v>...vv...v.....v...vv.
|
||||
.v..>.vv>v..>.>>..v>..>....v.>v....v....>.>v>.v>..>>.>>v>..vv>>...v>.vvvv>v.vv>v>v.>>..vv>v.>.>....v>..>..>v.>..vv...vvv.v>>..>v>.>.>..>>..
|
||||
....v.>..vvv.>>v...>...v.v..>..v>.>v.v>v>>.>.v...>vv....v.>..>>>v.....>...>vv>.......>v...v.v..vv........>vvv>.v>>..>.v..v.v.vv.>.v...v...>
|
||||
>.>v..v..v.v>>>..>..v.>.>v..v.v>.vv..>.....>v.>...>.>>v.v.>.v....v..vvv.>.>>v...v>v....>v.>.>.>>.v.vvv...vv>vv...>>v..vv.v.vv.........>.v..
|
||||
...>>...>>..>vv.vv.v..>.....>v.v..>v..v.v>.>....v..>..v>..>v.v..v.v>.vv>>v.>>...v>.vvv>..vv..>.v>..>vvv>>v.v>.>.v>v......v.....v....>vvv..>
|
||||
>...>.vv>v.v..v.v...vv..v>v.vv....>>.........v>.v.>.vv.vv.v...>>>.>>>.>vv.>v...>..>..>.v..>>...>v.vv..v>vv...>>.v.v>vv..v.v>vv..vv.>>.v..vv
|
||||
>>.vv.>.v.>v>.v.v.>.v....v...vvvvv>>...>.>v>..>...>...v.vvv.v..>v>v.>.>v..v.v.vv>.>..v>>.....v.vvv...v>v>...v.>>..>......>.....v...v...v...
|
||||
...v..>>v..vv.>..>.>.>.v.>....v.v>>.>>>..>...>v.v.vv...>vv.>v.>.v...vvv....v>v.vv..vv..>...vv.v>..v......v>v>>...>>..>v>...>>>>vv..>.v.>.>v
|
||||
.>.>v...>>.>..>v.v>.vvv>>.v>>...v.v>.v>..>v.>>v....>.v>vvv>....>>.>>>.v>>...>v>..>>>.>....>v...>>.>>.>......>..v....vv>...vv.v>....>>.v....
|
||||
v..v..>.>>vv..vv>vv..>vvv>v.v.v..v..v.>v>>v>>..........v>>v.vvvv>...>vvv..vv>v...>.v...v.....>v..>>.>..vvv..v>..v..>>>>v.....v..v.>....>>.v
|
||||
>.>v.>v.......>v>>.>..v.v....>>>.v>v>v..v.>vvv>v>>..>.>...vv>.v>.v>....>.v.>.v...vvv>v..v...>..>.>>v...>.>.......v...v....>vv.>..v.>>.>vv.v
|
||||
..v>.....>......>>.v..v...>>..vvv.>.>.>....>.v>v..v....v>>.v...>v>..>.>v..v....>...>>.......v.v.v.v...>.>.v..v.>vv...v>.>>.>>...>....v.v.>>
|
||||
v..>...vv>...>.>.....v..v>...>..>.vv>>v..>vv.vv..>v.v.v>.>>>>.>..>>>>>.vvvvv>>>..>vv.v>.v...v..>v.....vv..vv>>.v.>...v.vv...>.>.....>>vv...
|
||||
vv>>vv.>v.v..>...v.>....>.>..>>>...>>..>.....>.v.v>.v..vv>....>.....>v.>..>.>v.vv..>v>.....v.vv.>..>..>..v.>v..v.v>v..>.....v.>...>..v.....
|
||||
.v.>>....>>vvvv>>>..v>>v.>>.......>.vv>v.>vv.v>v.>v.>v..>>.....>v>v.>v>.....v..vvv..vv>.v.vv.vv..vv..>..v>..v.>.v.>>.v.>vv.vv>>...>..>.v.>.
|
||||
vv.>.>.v>.>...vv>v>.v>.>..>.vv>.>>.v.>.v>...>..v..vv...vv.v>......v>>.v>.>vv.>.v>v.>>vvvvv>vv>.v.>v...>.v>..>.>v.v.v..v.>..........v..>>>.v
|
||||
>..>.>v>.v>>>.v.v.v..>...>>>...>v.>.>>..>v.>.v...v..v.vv...>>>.v.v>.vv>>vv>..v.v...v.>>..v>vv..vv>>vv.>>>v.v....>..v.v.vv..v.v.>>v.v.vv>>..
|
||||
..>>v.>.>.>.....>...>.v.>>.v....>vv...>vv.>.v....v.>.>>.>.vv.v>v.......v>.>......v>.>>.vv...v>...>.>...>v>>..vv..>.v...vvv>v>vvvv...>......
|
||||
>.>.v..v....vv.>.>v.v..vv...vvv...vv..vv.>.>..vv.>.vv>..v>.v>v>v.v>.v......>>.v>vv.v>v.>>.>.>.vv>..vv>....vv>.......>v.>>..>>......v>>...>v
|
||||
>.>..v.>>.vv.vvvv.v>vv....>.....>.>...vv.>.>..v.>vvv..>v>......>>vv..>v>>..v>..v.v.v>..vvvvvv>v.>>v>..>..v.vv.>..v>>...>..v>>.v>v.....>>v>v
|
||||
.v.v.....>.vvv......v...>.v>vvv.....v>>....vv..v>v.v.v..v.v.>vv...v..>>v..>v..vvvvvv.v>vvvvvvv>..vv.v.v>.....>v>..v>.....>>.v>.vvv.vv.....>
|
||||
v>>.vv..>v.>>..v.>.v.v.v.v..>v>v.>.>v.v..v.v>.v.v.v.....>...>.v>.v.>v..v.>vvv...>.v>v.vv.>.>vv>v>v>.....>.v.>vv.v.v>v>vv>v.>..vv>v...v.vv.>
|
||||
.....v..v....v..v.>>vv.>>..>>>v..>v>.v>v>v>>v>v>.v>.>..vv>..>>>...>>>>..v.v.v>>v....>vv..v.v>.v>.v..v>v.>.v.>.v>v>v.>vvv.v..>..>>.>.......v
|
||||
>>>vvv.v.v..>>v.v.>...v>>v>.>..v.v>>...v..>>>v.>>vv>>.v>v..>v>v.>.>.......>..v>.v...>.v..vv.>...>.vv...>...v.>.>v..v..v>.v.>>>>.>v....vvvv.
|
||||
.>..>v>>.>v.>.....>..vv.>.>.v.v>>v.>v..v.v.>vv.vv.>.....v>>....>v>.....v.>vv..>>vvv>v>>.>.vvv.>v.>..>.v.v.v.v...v>v>.>v.....v>v..>>.>>.>v..
|
||||
v.>>.>v.vvv..v.>>>......vvv.v.v....v>..v>>>.v.>v.>>.>>v.>>..>v...v>..v.v.>...>..v.>.....vv>v.v>v..>>v.>.v>vv.>v.>v.....vv.....vv>v..v.v>..v
|
||||
v>>.v>.>.>>v>v>v.....>v>.......>..v.vv..v>>.>.>>.vvv>.v>>.>v..vv>v>v>.v.>.vv.>.>.>>v>>.>..v..v>v.v>>v...>>.v.>>..>>..v.>.......>..>vv......
|
||||
.v..v.>.v>>..v>>v.v...v>.v.v>.....v.v....>>.v.>>v...v..v...>..>.vv.v>v..>.v>.....>....v...>.>.>....v..>vv.v.>......>v>...>.v.>......>..>...
|
||||
...v>.>...v...vvv>>.>.......v>...>.>..vvv.>>....>.v..v>.>v.vv>v..>>.>.v>.v>v..v...v...>v.vvvv..>>..v>v>v..v>>...v........>.v..v....>>>>..vv
|
||||
.v..>v.vvvv>......vv>vv....v..>v>>v.v.>v.v...v..v>.v.>...>.>.>>>...>>vv.>...>>..>v>.>vv.>.>v..v..v.>>v...vv.v.v>..>>.v...>v.vv>>.>v.v...>.v
|
||||
.>v.>.>..v...>>v>.>.vv...>..vv.v...>>.v>v...>..>.>>>...>>....>v>v>v.>..vv..>...>v.vv..v.v.v..>>.....v>vv..>v.>>.v>.v.vvv.>>.>.>..v..>.v>.v.
|
||||
.>>.>v...>vv.>>>..vvvvv.v.v..>.>>>vv.........>..>vvv...>>.>>....>>v.v...v>..v>v..>.>..v..>>..v>>vv........v>...vvv...>v..v.vv.>......>.>..v
|
||||
v..v.v>.vvv.>>>>>......v>>v..>>.>..>.....vv>.v>>..>.vv..>.v.v>v>v..>...>v>>vv>v..>>v..v.v..vv>vv...>..v.>v>v>.>.>>>v....v.......v>..v...v>.
|
||||
>>vv.v..v..>.vv.>v......>v..v.>v.v..vvvv...vv>v>..v>v>>..>.>..vv.>..>..>.v>>>vv.>.....v>v>...v>.>.>.v.>>.v.>vv>vv...v.vvv>v..>.v>vv..v..>.v
|
||||
..>.....>>v..>vv.>>..v.......v.....v..>v>...>v>.........>>.v..v>>v.vv.>v>>>...v>v....>vv.vv..v.v..>v>..>.....>>>.v.v.v.vv>v....vvv.v.v>..>>
|
||||
..v.v..>..>v>>.v>...>...>>v>>...>.v.v....v...>.>.vvv>..>.v..v>>v>vvv>.>....>v.>....>.v..v....>......>...>.>vv...v>>>..>>..v.>>>>.v.v>vv>.v.
|
1000
data/day_3.txt
Normal file
1000
data/day_3.txt
Normal file
File diff suppressed because it is too large
Load Diff
601
data/day_4.txt
Normal file
601
data/day_4.txt
Normal file
@@ -0,0 +1,601 @@
|
||||
23,30,70,61,79,49,19,37,64,48,72,34,69,53,15,74,89,38,46,36,28,32,45,2,39,58,11,62,97,40,14,87,96,94,91,92,80,99,6,31,57,98,65,10,33,63,42,17,47,66,26,22,73,27,7,0,55,8,56,29,86,25,4,12,51,60,35,50,5,75,95,44,16,93,21,3,24,52,77,76,43,41,9,84,67,71,83,88,59,68,85,82,1,18,13,78,20,90,81,54
|
||||
|
||||
50 98 65 14 47
|
||||
0 22 3 83 46
|
||||
87 93 81 84 58
|
||||
40 35 28 74 48
|
||||
45 99 59 37 64
|
||||
|
||||
85 66 90 32 88
|
||||
95 6 4 74 27
|
||||
1 10 70 41 92
|
||||
54 36 42 9 39
|
||||
60 99 31 67 16
|
||||
|
||||
4 44 66 10 58
|
||||
33 64 93 42 46
|
||||
19 63 6 83 54
|
||||
60 51 76 8 30
|
||||
71 49 73 7 55
|
||||
|
||||
17 67 52 61 98
|
||||
46 5 4 51 76
|
||||
73 59 74 8 33
|
||||
48 96 20 26 15
|
||||
55 19 86 29 43
|
||||
|
||||
20 75 12 67 41
|
||||
89 36 65 66 92
|
||||
40 19 1 0 28
|
||||
99 61 85 58 50
|
||||
44 72 57 35 86
|
||||
|
||||
69 87 27 59 33
|
||||
47 34 60 93 9
|
||||
71 84 46 24 96
|
||||
15 91 5 61 19
|
||||
57 78 55 31 8
|
||||
|
||||
19 10 1 81 96
|
||||
27 71 2 52 56
|
||||
15 22 48 82 34
|
||||
64 47 42 49 51
|
||||
26 72 61 12 57
|
||||
|
||||
71 94 40 34 26
|
||||
12 80 57 38 55
|
||||
4 56 11 73 49
|
||||
75 60 61 9 50
|
||||
91 70 23 1 90
|
||||
|
||||
39 86 30 73 38
|
||||
6 53 58 14 36
|
||||
85 12 75 88 5
|
||||
0 29 41 21 15
|
||||
47 66 59 54 1
|
||||
|
||||
99 97 50 17 60
|
||||
36 13 29 80 32
|
||||
49 85 75 71 15
|
||||
10 79 41 61 66
|
||||
68 57 55 74 98
|
||||
|
||||
68 33 87 89 59
|
||||
96 35 76 78 55
|
||||
4 63 51 10 65
|
||||
58 38 22 54 9
|
||||
66 18 37 60 6
|
||||
|
||||
43 86 50 23 77
|
||||
10 42 19 61 2
|
||||
40 29 20 84 0
|
||||
70 59 96 80 57
|
||||
76 12 39 36 6
|
||||
|
||||
73 43 92 37 99
|
||||
36 42 10 77 87
|
||||
3 57 4 20 35
|
||||
18 7 46 91 11
|
||||
17 98 8 53 61
|
||||
|
||||
22 37 89 51 9
|
||||
71 6 72 87 32
|
||||
13 79 86 53 98
|
||||
16 2 93 48 38
|
||||
63 82 66 61 69
|
||||
|
||||
73 90 85 54 65
|
||||
9 66 28 5 63
|
||||
91 50 70 59 80
|
||||
95 68 92 72 67
|
||||
69 88 36 43 53
|
||||
|
||||
36 81 66 78 90
|
||||
2 25 94 82 55
|
||||
34 45 1 14 37
|
||||
13 4 70 48 75
|
||||
67 73 32 18 91
|
||||
|
||||
33 93 71 48 47
|
||||
8 79 69 53 82
|
||||
5 31 80 45 37
|
||||
67 77 41 56 97
|
||||
65 46 62 42 81
|
||||
|
||||
67 70 59 24 88
|
||||
84 11 29 52 78
|
||||
4 39 12 90 2
|
||||
44 3 10 75 89
|
||||
30 93 22 14 8
|
||||
|
||||
79 60 98 99 49
|
||||
23 26 86 91 38
|
||||
77 45 95 66 75
|
||||
81 42 85 21 3
|
||||
40 37 65 20 50
|
||||
|
||||
12 54 0 86 52
|
||||
15 56 29 39 94
|
||||
66 79 14 65 26
|
||||
3 4 59 60 40
|
||||
47 48 19 13 85
|
||||
|
||||
32 44 69 90 21
|
||||
35 8 1 59 56
|
||||
72 71 84 18 11
|
||||
96 38 23 37 79
|
||||
92 20 33 94 17
|
||||
|
||||
1 94 42 21 82
|
||||
92 60 9 32 38
|
||||
71 3 37 77 18
|
||||
89 16 74 76 2
|
||||
83 30 28 11 70
|
||||
|
||||
94 3 1 71 87
|
||||
6 66 19 76 28
|
||||
10 86 22 62 2
|
||||
67 0 31 46 27
|
||||
8 33 43 92 29
|
||||
|
||||
35 90 8 30 27
|
||||
67 60 82 68 1
|
||||
5 29 93 44 34
|
||||
56 65 48 37 51
|
||||
57 45 63 94 77
|
||||
|
||||
67 80 45 57 43
|
||||
37 81 25 84 82
|
||||
50 8 9 64 7
|
||||
29 18 52 16 14
|
||||
73 28 11 76 6
|
||||
|
||||
5 76 67 18 16
|
||||
68 47 15 29 59
|
||||
46 32 40 9 84
|
||||
30 17 20 22 3
|
||||
35 80 38 72 88
|
||||
|
||||
35 44 14 89 72
|
||||
75 67 56 2 3
|
||||
58 41 49 12 52
|
||||
92 9 22 34 88
|
||||
65 39 93 61 47
|
||||
|
||||
38 67 33 18 60
|
||||
34 50 69 31 83
|
||||
29 30 9 12 95
|
||||
79 2 24 54 87
|
||||
46 68 48 58 42
|
||||
|
||||
61 87 46 26 34
|
||||
74 85 9 54 38
|
||||
50 29 84 40 4
|
||||
49 39 33 99 53
|
||||
77 59 0 42 35
|
||||
|
||||
86 68 23 62 5
|
||||
96 92 7 4 1
|
||||
50 70 12 83 46
|
||||
34 63 91 56 11
|
||||
76 90 71 88 95
|
||||
|
||||
19 18 13 3 62
|
||||
42 29 57 79 85
|
||||
39 64 14 28 98
|
||||
99 36 91 9 63
|
||||
69 66 2 17 31
|
||||
|
||||
51 43 49 98 94
|
||||
31 64 53 54 57
|
||||
3 28 10 12 2
|
||||
24 99 95 35 17
|
||||
76 27 48 0 41
|
||||
|
||||
80 62 13 38 98
|
||||
32 15 16 8 96
|
||||
93 43 81 99 40
|
||||
20 57 37 24 3
|
||||
94 17 70 14 7
|
||||
|
||||
52 71 49 95 84
|
||||
76 38 45 59 89
|
||||
1 7 27 0 98
|
||||
92 64 8 50 68
|
||||
13 91 26 51 2
|
||||
|
||||
31 45 25 1 5
|
||||
50 68 77 61 53
|
||||
74 20 99 38 63
|
||||
76 44 15 42 51
|
||||
67 87 86 12 24
|
||||
|
||||
49 0 70 82 9
|
||||
2 24 96 74 60
|
||||
68 16 40 32 20
|
||||
48 6 98 11 65
|
||||
94 10 54 8 95
|
||||
|
||||
74 41 11 33 76
|
||||
2 10 44 89 23
|
||||
56 45 78 60 34
|
||||
15 5 26 83 71
|
||||
20 72 85 75 54
|
||||
|
||||
15 59 93 53 8
|
||||
4 10 84 44 36
|
||||
17 62 24 27 98
|
||||
87 54 73 13 35
|
||||
9 48 52 33 7
|
||||
|
||||
56 80 70 74 35
|
||||
53 69 75 25 27
|
||||
47 91 85 62 32
|
||||
93 26 89 18 52
|
||||
16 73 49 55 77
|
||||
|
||||
42 40 54 67 73
|
||||
11 10 49 35 59
|
||||
12 93 37 15 69
|
||||
97 41 47 39 2
|
||||
75 99 21 29 26
|
||||
|
||||
23 75 41 10 86
|
||||
71 67 66 38 99
|
||||
91 92 63 40 28
|
||||
69 97 42 77 60
|
||||
44 53 12 84 57
|
||||
|
||||
72 51 31 90 37
|
||||
35 89 55 73 87
|
||||
46 32 45 0 58
|
||||
50 81 13 18 66
|
||||
38 4 40 62 22
|
||||
|
||||
14 48 35 76 83
|
||||
13 70 26 4 1
|
||||
30 22 91 93 29
|
||||
69 41 74 40 63
|
||||
80 65 66 72 23
|
||||
|
||||
23 65 33 56 38
|
||||
84 41 34 21 2
|
||||
4 78 27 17 11
|
||||
22 53 52 32 80
|
||||
24 25 42 91 99
|
||||
|
||||
54 51 0 23 52
|
||||
92 69 10 46 7
|
||||
20 35 12 37 73
|
||||
19 56 26 79 32
|
||||
27 74 34 5 57
|
||||
|
||||
75 10 24 32 7
|
||||
96 54 22 78 5
|
||||
23 69 65 43 20
|
||||
29 85 44 92 71
|
||||
41 87 73 0 48
|
||||
|
||||
54 92 16 36 37
|
||||
42 59 4 9 44
|
||||
52 14 12 6 47
|
||||
57 38 70 82 0
|
||||
53 81 32 35 3
|
||||
|
||||
17 22 62 80 30
|
||||
8 28 15 42 46
|
||||
79 64 32 29 75
|
||||
5 0 9 90 69
|
||||
41 71 85 1 6
|
||||
|
||||
68 89 40 31 39
|
||||
32 48 64 38 28
|
||||
80 98 88 14 97
|
||||
6 60 52 11 55
|
||||
95 34 63 81 4
|
||||
|
||||
80 33 14 83 68
|
||||
78 69 81 59 15
|
||||
72 0 74 21 75
|
||||
49 6 67 73 64
|
||||
8 25 87 3 45
|
||||
|
||||
34 97 86 1 79
|
||||
49 12 63 10 59
|
||||
88 30 84 74 87
|
||||
67 47 26 0 57
|
||||
71 40 2 76 98
|
||||
|
||||
15 89 23 65 44
|
||||
27 87 54 38 12
|
||||
43 29 18 39 94
|
||||
48 0 7 57 61
|
||||
70 28 60 68 50
|
||||
|
||||
13 34 49 67 40
|
||||
88 74 99 20 26
|
||||
63 69 62 24 32
|
||||
35 45 96 79 1
|
||||
92 7 17 76 30
|
||||
|
||||
95 21 75 46 74
|
||||
39 7 58 23 90
|
||||
61 64 37 81 82
|
||||
92 36 54 9 53
|
||||
17 51 33 10 27
|
||||
|
||||
67 35 44 22 23
|
||||
28 96 1 56 29
|
||||
0 12 5 50 99
|
||||
70 42 8 24 25
|
||||
39 53 51 89 85
|
||||
|
||||
50 15 94 84 27
|
||||
72 26 51 3 85
|
||||
63 45 1 64 44
|
||||
17 80 13 88 2
|
||||
12 97 91 25 18
|
||||
|
||||
59 14 9 67 63
|
||||
6 18 26 98 50
|
||||
86 74 75 56 34
|
||||
48 7 99 20 64
|
||||
8 53 10 15 57
|
||||
|
||||
6 35 13 68 24
|
||||
90 19 91 71 86
|
||||
95 58 10 44 98
|
||||
8 41 60 1 16
|
||||
29 59 43 84 48
|
||||
|
||||
48 56 8 74 4
|
||||
66 30 77 35 90
|
||||
94 0 75 49 84
|
||||
5 39 11 54 87
|
||||
33 58 96 22 2
|
||||
|
||||
5 38 57 63 65
|
||||
74 58 22 8 81
|
||||
45 96 78 3 11
|
||||
28 42 30 39 51
|
||||
87 33 34 75 14
|
||||
|
||||
56 34 67 70 17
|
||||
7 80 10 31 85
|
||||
68 59 63 74 40
|
||||
13 81 99 62 6
|
||||
92 84 71 37 39
|
||||
|
||||
85 99 74 16 10
|
||||
12 21 91 2 83
|
||||
4 94 38 51 36
|
||||
41 97 45 65 24
|
||||
50 82 92 52 35
|
||||
|
||||
28 65 6 13 23
|
||||
7 57 86 18 67
|
||||
26 85 29 22 89
|
||||
99 62 94 31 96
|
||||
14 17 50 56 9
|
||||
|
||||
98 10 63 4 8
|
||||
46 21 58 89 3
|
||||
27 12 11 55 16
|
||||
61 38 43 33 54
|
||||
53 14 99 31 25
|
||||
|
||||
25 70 24 40 14
|
||||
75 82 58 68 41
|
||||
22 71 72 93 1
|
||||
47 97 6 81 45
|
||||
92 42 2 76 12
|
||||
|
||||
31 84 30 0 85
|
||||
55 70 72 45 57
|
||||
78 52 67 60 22
|
||||
43 32 8 44 34
|
||||
14 64 91 89 18
|
||||
|
||||
70 19 62 16 56
|
||||
84 49 41 3 20
|
||||
85 5 76 95 22
|
||||
63 55 37 31 72
|
||||
42 17 28 65 1
|
||||
|
||||
85 17 57 62 48
|
||||
34 29 69 52 28
|
||||
90 64 54 21 38
|
||||
0 50 84 44 60
|
||||
93 80 75 89 83
|
||||
|
||||
39 84 78 12 5
|
||||
29 4 35 7 85
|
||||
73 25 58 27 45
|
||||
22 90 91 47 74
|
||||
60 96 15 24 26
|
||||
|
||||
13 30 82 31 43
|
||||
23 71 1 51 36
|
||||
40 62 25 54 86
|
||||
8 83 2 47 34
|
||||
33 41 27 98 24
|
||||
|
||||
13 25 53 50 56
|
||||
77 4 41 19 22
|
||||
68 70 75 9 65
|
||||
30 33 60 74 80
|
||||
31 83 34 79 11
|
||||
|
||||
11 90 38 78 73
|
||||
17 16 14 37 4
|
||||
80 68 21 70 92
|
||||
47 26 81 67 25
|
||||
10 31 23 41 22
|
||||
|
||||
90 62 2 50 79
|
||||
77 51 8 11 13
|
||||
32 29 43 88 33
|
||||
39 34 89 45 23
|
||||
91 9 6 68 3
|
||||
|
||||
62 70 89 27 87
|
||||
45 65 96 80 29
|
||||
1 54 90 68 16
|
||||
72 50 28 95 12
|
||||
21 71 81 10 60
|
||||
|
||||
33 14 60 44 78
|
||||
6 65 87 11 8
|
||||
79 21 59 35 19
|
||||
26 69 67 42 27
|
||||
25 36 80 10 45
|
||||
|
||||
71 24 80 87 56
|
||||
7 61 43 38 18
|
||||
52 46 41 28 48
|
||||
0 74 20 34 63
|
||||
3 84 42 85 9
|
||||
|
||||
36 64 41 7 49
|
||||
91 92 13 94 88
|
||||
73 98 79 0 12
|
||||
76 66 86 67 9
|
||||
2 85 74 5 34
|
||||
|
||||
8 81 7 56 28
|
||||
36 13 42 29 75
|
||||
12 27 85 45 9
|
||||
26 25 62 41 22
|
||||
79 11 95 0 24
|
||||
|
||||
72 76 81 67 16
|
||||
96 41 94 58 7
|
||||
0 79 38 27 11
|
||||
61 36 56 88 39
|
||||
89 63 31 75 8
|
||||
|
||||
62 51 5 46 28
|
||||
77 97 89 86 13
|
||||
87 55 73 90 57
|
||||
84 44 40 49 34
|
||||
25 0 58 6 21
|
||||
|
||||
7 56 15 41 94
|
||||
42 89 16 18 74
|
||||
57 79 96 35 3
|
||||
14 45 20 19 80
|
||||
87 85 28 69 17
|
||||
|
||||
27 88 54 62 65
|
||||
44 93 69 13 9
|
||||
85 63 43 11 47
|
||||
83 57 30 20 56
|
||||
71 46 49 7 77
|
||||
|
||||
45 24 75 39 69
|
||||
48 74 44 49 64
|
||||
65 25 22 46 93
|
||||
88 52 27 37 50
|
||||
19 35 47 54 67
|
||||
|
||||
44 32 71 13 57
|
||||
7 38 26 98 65
|
||||
46 1 21 8 55
|
||||
30 62 92 27 3
|
||||
69 50 99 85 11
|
||||
|
||||
86 6 64 34 97
|
||||
47 98 7 38 9
|
||||
26 68 75 92 54
|
||||
58 42 13 78 37
|
||||
85 28 81 16 51
|
||||
|
||||
82 74 15 4 86
|
||||
55 0 70 88 24
|
||||
50 79 63 40 21
|
||||
47 39 61 49 36
|
||||
89 16 13 2 37
|
||||
|
||||
89 19 9 82 13
|
||||
84 34 58 56 10
|
||||
27 92 46 4 94
|
||||
44 24 52 86 55
|
||||
39 23 22 99 5
|
||||
|
||||
65 92 8 86 77
|
||||
98 79 72 28 78
|
||||
16 23 3 55 48
|
||||
68 95 66 30 43
|
||||
50 31 15 11 45
|
||||
|
||||
32 70 25 59 31
|
||||
47 68 77 56 23
|
||||
66 78 54 88 50
|
||||
55 60 58 89 83
|
||||
84 99 86 97 95
|
||||
|
||||
53 46 1 94 87
|
||||
8 80 38 77 81
|
||||
17 51 47 19 69
|
||||
86 50 71 5 93
|
||||
61 66 36 58 0
|
||||
|
||||
90 58 17 29 92
|
||||
67 1 8 64 99
|
||||
63 22 57 19 68
|
||||
78 36 93 53 2
|
||||
27 48 62 39 14
|
||||
|
||||
8 49 22 90 54
|
||||
26 4 99 27 34
|
||||
78 25 11 85 28
|
||||
31 42 36 53 15
|
||||
64 75 60 45 35
|
||||
|
||||
99 84 26 53 90
|
||||
61 51 98 39 86
|
||||
47 37 52 80 63
|
||||
67 49 35 70 11
|
||||
32 45 94 73 43
|
||||
|
||||
91 92 74 94 32
|
||||
27 56 50 33 54
|
||||
67 46 35 25 10
|
||||
93 97 30 90 4
|
||||
57 15 69 83 39
|
||||
|
||||
71 68 74 81 11
|
||||
44 98 60 17 73
|
||||
43 40 32 38 39
|
||||
61 56 97 94 70
|
||||
23 2 86 91 54
|
||||
|
||||
19 98 93 42 88
|
||||
0 16 30 32 71
|
||||
89 86 81 76 68
|
||||
29 2 14 72 63
|
||||
7 27 67 59 1
|
||||
|
||||
24 18 28 98 95
|
||||
10 62 80 71 36
|
||||
3 89 20 63 46
|
||||
47 65 84 22 6
|
||||
82 19 81 38 45
|
||||
|
||||
54 85 67 34 79
|
||||
25 58 38 73 61
|
||||
72 98 4 19 40
|
||||
32 10 29 31 89
|
||||
15 33 5 7 63
|
||||
|
||||
49 48 71 81 88
|
||||
70 5 39 41 22
|
||||
19 20 7 75 23
|
||||
69 46 63 14 54
|
||||
80 45 94 6 55
|
||||
|
||||
88 62 76 78 95
|
||||
64 65 36 58 22
|
||||
7 21 98 93 42
|
||||
79 99 9 89 10
|
||||
6 5 33 92 72
|
500
data/day_5.txt
Normal file
500
data/day_5.txt
Normal file
@@ -0,0 +1,500 @@
|
||||
348,742 -> 620,742
|
||||
494,864 -> 494,484
|
||||
193,136 -> 301,136
|
||||
342,692 -> 342,538
|
||||
234,525 -> 102,393
|
||||
72,964 -> 847,189
|
||||
639,430 -> 99,970
|
||||
398,791 -> 398,187
|
||||
181,144 -> 205,168
|
||||
607,617 -> 416,617
|
||||
98,339 -> 98,437
|
||||
763,119 -> 176,119
|
||||
450,848 -> 450,664
|
||||
293,133 -> 293,98
|
||||
308,98 -> 308,15
|
||||
157,21 -> 405,269
|
||||
792,471 -> 409,471
|
||||
42,955 -> 956,41
|
||||
895,269 -> 895,884
|
||||
629,635 -> 392,635
|
||||
169,23 -> 273,127
|
||||
250,847 -> 250,665
|
||||
709,56 -> 709,626
|
||||
938,599 -> 669,868
|
||||
913,46 -> 458,501
|
||||
844,417 -> 844,424
|
||||
178,651 -> 640,189
|
||||
226,266 -> 149,266
|
||||
654,421 -> 654,499
|
||||
368,780 -> 368,38
|
||||
183,743 -> 497,429
|
||||
942,34 -> 387,589
|
||||
987,461 -> 987,348
|
||||
485,275 -> 330,275
|
||||
33,460 -> 456,883
|
||||
606,304 -> 606,628
|
||||
755,170 -> 755,187
|
||||
342,862 -> 250,954
|
||||
866,125 -> 151,840
|
||||
795,489 -> 599,685
|
||||
905,525 -> 905,457
|
||||
99,620 -> 99,339
|
||||
899,507 -> 699,707
|
||||
627,444 -> 923,444
|
||||
798,80 -> 419,459
|
||||
580,237 -> 580,907
|
||||
947,336 -> 947,727
|
||||
491,466 -> 546,411
|
||||
335,221 -> 458,221
|
||||
547,70 -> 407,210
|
||||
520,80 -> 647,80
|
||||
835,58 -> 835,300
|
||||
574,239 -> 589,239
|
||||
219,670 -> 219,22
|
||||
512,69 -> 255,69
|
||||
83,701 -> 239,701
|
||||
874,109 -> 48,935
|
||||
980,892 -> 159,71
|
||||
154,879 -> 53,879
|
||||
782,37 -> 89,730
|
||||
481,736 -> 481,614
|
||||
377,886 -> 569,694
|
||||
777,403 -> 726,454
|
||||
728,952 -> 728,972
|
||||
495,643 -> 879,643
|
||||
425,564 -> 187,326
|
||||
443,110 -> 386,167
|
||||
529,279 -> 529,103
|
||||
985,983 -> 16,14
|
||||
145,112 -> 877,844
|
||||
914,34 -> 121,827
|
||||
409,229 -> 784,229
|
||||
719,86 -> 479,86
|
||||
929,984 -> 218,984
|
||||
985,928 -> 299,242
|
||||
168,159 -> 168,743
|
||||
189,784 -> 189,498
|
||||
401,58 -> 390,58
|
||||
47,283 -> 452,688
|
||||
246,292 -> 246,461
|
||||
869,901 -> 643,675
|
||||
879,593 -> 108,593
|
||||
707,417 -> 336,417
|
||||
99,401 -> 99,502
|
||||
583,764 -> 583,668
|
||||
493,934 -> 493,78
|
||||
643,570 -> 643,990
|
||||
278,765 -> 600,443
|
||||
940,437 -> 940,488
|
||||
812,896 -> 812,594
|
||||
727,711 -> 25,711
|
||||
173,586 -> 667,92
|
||||
169,879 -> 466,582
|
||||
361,650 -> 361,276
|
||||
725,818 -> 725,662
|
||||
48,119 -> 781,852
|
||||
921,62 -> 921,647
|
||||
135,613 -> 135,295
|
||||
702,969 -> 194,461
|
||||
306,709 -> 274,709
|
||||
117,182 -> 117,856
|
||||
608,635 -> 608,854
|
||||
448,250 -> 448,641
|
||||
635,552 -> 341,552
|
||||
528,432 -> 51,432
|
||||
711,763 -> 987,487
|
||||
43,931 -> 917,57
|
||||
980,841 -> 526,387
|
||||
279,412 -> 377,412
|
||||
334,107 -> 509,282
|
||||
164,15 -> 164,345
|
||||
708,139 -> 708,846
|
||||
323,930 -> 323,282
|
||||
256,902 -> 922,236
|
||||
586,453 -> 244,111
|
||||
21,92 -> 840,911
|
||||
282,888 -> 839,331
|
||||
278,439 -> 712,873
|
||||
110,595 -> 696,595
|
||||
95,531 -> 804,531
|
||||
800,206 -> 800,881
|
||||
396,244 -> 396,441
|
||||
334,60 -> 122,60
|
||||
640,331 -> 640,467
|
||||
757,126 -> 731,126
|
||||
430,245 -> 932,245
|
||||
160,655 -> 753,62
|
||||
502,432 -> 751,432
|
||||
434,378 -> 434,287
|
||||
907,374 -> 552,729
|
||||
548,864 -> 632,864
|
||||
616,961 -> 746,831
|
||||
116,316 -> 666,866
|
||||
78,44 -> 950,916
|
||||
873,570 -> 355,570
|
||||
202,859 -> 885,176
|
||||
449,348 -> 904,348
|
||||
143,179 -> 760,796
|
||||
478,823 -> 478,55
|
||||
790,446 -> 790,257
|
||||
34,888 -> 736,888
|
||||
630,696 -> 437,889
|
||||
350,589 -> 118,821
|
||||
803,373 -> 808,373
|
||||
490,778 -> 818,450
|
||||
487,725 -> 487,836
|
||||
794,502 -> 794,114
|
||||
136,743 -> 136,634
|
||||
572,103 -> 194,103
|
||||
488,614 -> 528,614
|
||||
18,878 -> 539,357
|
||||
889,35 -> 889,271
|
||||
436,419 -> 21,419
|
||||
422,319 -> 422,821
|
||||
176,935 -> 923,188
|
||||
398,398 -> 436,436
|
||||
327,45 -> 820,538
|
||||
643,428 -> 890,675
|
||||
743,714 -> 143,114
|
||||
203,359 -> 189,359
|
||||
346,672 -> 346,190
|
||||
263,804 -> 263,249
|
||||
93,683 -> 93,453
|
||||
19,180 -> 238,399
|
||||
47,941 -> 888,100
|
||||
525,888 -> 236,599
|
||||
624,397 -> 126,397
|
||||
382,119 -> 382,981
|
||||
972,753 -> 336,117
|
||||
682,978 -> 48,344
|
||||
639,477 -> 639,408
|
||||
545,966 -> 12,966
|
||||
275,234 -> 401,234
|
||||
912,20 -> 101,20
|
||||
54,109 -> 809,864
|
||||
242,149 -> 242,283
|
||||
664,353 -> 828,353
|
||||
117,539 -> 26,630
|
||||
794,554 -> 624,554
|
||||
828,536 -> 43,536
|
||||
746,717 -> 746,420
|
||||
540,930 -> 224,930
|
||||
862,229 -> 862,212
|
||||
492,917 -> 835,574
|
||||
960,496 -> 960,618
|
||||
148,530 -> 148,485
|
||||
415,974 -> 494,974
|
||||
694,118 -> 654,158
|
||||
672,210 -> 672,81
|
||||
548,692 -> 668,812
|
||||
891,50 -> 10,931
|
||||
639,652 -> 844,652
|
||||
579,522 -> 556,545
|
||||
231,880 -> 170,880
|
||||
443,12 -> 443,775
|
||||
562,185 -> 562,984
|
||||
619,313 -> 74,858
|
||||
371,502 -> 642,231
|
||||
969,694 -> 714,949
|
||||
943,157 -> 179,921
|
||||
821,305 -> 821,427
|
||||
782,579 -> 874,671
|
||||
378,943 -> 378,956
|
||||
315,636 -> 572,893
|
||||
544,357 -> 315,357
|
||||
51,158 -> 16,158
|
||||
151,428 -> 508,428
|
||||
818,939 -> 90,939
|
||||
99,396 -> 451,396
|
||||
602,834 -> 695,834
|
||||
974,145 -> 974,919
|
||||
327,630 -> 254,630
|
||||
858,166 -> 900,166
|
||||
537,681 -> 564,681
|
||||
672,674 -> 672,619
|
||||
544,408 -> 750,614
|
||||
84,664 -> 210,664
|
||||
204,886 -> 469,886
|
||||
475,940 -> 475,592
|
||||
868,922 -> 614,922
|
||||
987,939 -> 367,939
|
||||
854,498 -> 956,498
|
||||
863,148 -> 22,989
|
||||
565,580 -> 948,197
|
||||
231,952 -> 798,385
|
||||
935,832 -> 113,10
|
||||
631,362 -> 631,329
|
||||
405,143 -> 303,143
|
||||
807,831 -> 891,831
|
||||
450,976 -> 450,247
|
||||
488,676 -> 508,676
|
||||
170,328 -> 636,794
|
||||
626,815 -> 626,938
|
||||
217,558 -> 708,558
|
||||
598,549 -> 532,549
|
||||
824,307 -> 304,307
|
||||
539,932 -> 390,932
|
||||
542,786 -> 435,893
|
||||
735,42 -> 389,388
|
||||
677,448 -> 65,448
|
||||
929,915 -> 29,15
|
||||
870,344 -> 870,287
|
||||
187,138 -> 754,138
|
||||
729,353 -> 508,132
|
||||
919,821 -> 317,219
|
||||
272,459 -> 272,72
|
||||
599,413 -> 342,413
|
||||
919,862 -> 199,142
|
||||
229,476 -> 893,476
|
||||
438,516 -> 150,228
|
||||
914,132 -> 173,873
|
||||
905,815 -> 315,815
|
||||
766,136 -> 766,207
|
||||
548,546 -> 451,643
|
||||
836,231 -> 381,231
|
||||
484,854 -> 852,854
|
||||
736,209 -> 307,209
|
||||
751,156 -> 809,156
|
||||
659,937 -> 659,333
|
||||
74,899 -> 485,488
|
||||
843,329 -> 843,584
|
||||
793,944 -> 910,827
|
||||
67,298 -> 610,841
|
||||
43,15 -> 960,932
|
||||
633,527 -> 912,806
|
||||
782,246 -> 716,312
|
||||
30,46 -> 912,928
|
||||
473,833 -> 473,189
|
||||
903,506 -> 61,506
|
||||
85,404 -> 85,898
|
||||
944,682 -> 944,465
|
||||
420,695 -> 391,666
|
||||
560,110 -> 810,360
|
||||
246,368 -> 25,368
|
||||
399,397 -> 781,15
|
||||
452,618 -> 452,340
|
||||
467,854 -> 890,854
|
||||
77,314 -> 77,780
|
||||
523,501 -> 523,646
|
||||
67,284 -> 637,284
|
||||
88,13 -> 988,913
|
||||
173,20 -> 844,691
|
||||
667,821 -> 722,821
|
||||
384,840 -> 792,432
|
||||
270,36 -> 270,352
|
||||
311,16 -> 311,334
|
||||
736,900 -> 736,264
|
||||
613,827 -> 748,962
|
||||
41,81 -> 885,925
|
||||
408,884 -> 756,884
|
||||
380,612 -> 402,634
|
||||
82,645 -> 82,708
|
||||
934,331 -> 316,331
|
||||
634,116 -> 634,891
|
||||
942,56 -> 942,642
|
||||
441,260 -> 955,774
|
||||
925,980 -> 314,369
|
||||
317,893 -> 577,893
|
||||
362,137 -> 433,137
|
||||
434,928 -> 434,623
|
||||
819,18 -> 819,488
|
||||
185,348 -> 615,778
|
||||
895,357 -> 492,357
|
||||
742,645 -> 742,151
|
||||
522,855 -> 366,699
|
||||
867,390 -> 57,390
|
||||
95,566 -> 389,272
|
||||
887,793 -> 887,871
|
||||
351,251 -> 351,30
|
||||
309,448 -> 865,448
|
||||
190,690 -> 70,570
|
||||
383,805 -> 383,607
|
||||
140,157 -> 140,164
|
||||
685,222 -> 705,222
|
||||
192,949 -> 192,358
|
||||
856,768 -> 856,967
|
||||
337,344 -> 771,344
|
||||
919,86 -> 53,952
|
||||
137,723 -> 887,723
|
||||
33,108 -> 873,948
|
||||
195,690 -> 195,184
|
||||
136,505 -> 136,520
|
||||
509,69 -> 509,800
|
||||
255,742 -> 255,740
|
||||
650,105 -> 650,483
|
||||
985,451 -> 268,451
|
||||
68,346 -> 171,346
|
||||
472,28 -> 574,28
|
||||
660,308 -> 660,382
|
||||
341,553 -> 341,419
|
||||
430,304 -> 807,304
|
||||
333,258 -> 795,258
|
||||
853,637 -> 252,36
|
||||
881,893 -> 237,249
|
||||
552,160 -> 826,160
|
||||
728,446 -> 728,905
|
||||
529,326 -> 529,860
|
||||
564,759 -> 564,737
|
||||
533,688 -> 78,233
|
||||
445,314 -> 329,198
|
||||
935,597 -> 652,597
|
||||
955,958 -> 174,177
|
||||
178,522 -> 178,457
|
||||
124,351 -> 74,351
|
||||
265,840 -> 451,654
|
||||
771,914 -> 771,332
|
||||
72,14 -> 72,574
|
||||
970,828 -> 197,55
|
||||
631,744 -> 631,746
|
||||
765,759 -> 119,113
|
||||
260,882 -> 262,882
|
||||
676,760 -> 61,145
|
||||
680,168 -> 959,168
|
||||
466,811 -> 466,745
|
||||
566,242 -> 566,471
|
||||
768,975 -> 768,75
|
||||
391,550 -> 391,591
|
||||
781,678 -> 771,678
|
||||
731,620 -> 951,620
|
||||
973,290 -> 973,664
|
||||
838,691 -> 835,691
|
||||
294,240 -> 378,240
|
||||
390,708 -> 908,190
|
||||
521,933 -> 963,933
|
||||
358,46 -> 919,46
|
||||
431,410 -> 431,297
|
||||
833,706 -> 330,706
|
||||
13,910 -> 876,910
|
||||
619,567 -> 619,398
|
||||
165,779 -> 165,941
|
||||
21,139 -> 21,535
|
||||
921,420 -> 358,420
|
||||
629,111 -> 608,111
|
||||
654,244 -> 654,500
|
||||
982,386 -> 982,841
|
||||
252,127 -> 144,235
|
||||
144,518 -> 144,344
|
||||
581,589 -> 130,138
|
||||
927,835 -> 882,790
|
||||
859,658 -> 320,119
|
||||
110,326 -> 110,168
|
||||
149,64 -> 917,832
|
||||
651,771 -> 897,771
|
||||
788,66 -> 231,623
|
||||
710,608 -> 370,268
|
||||
927,175 -> 778,26
|
||||
957,970 -> 53,66
|
||||
350,313 -> 350,192
|
||||
115,505 -> 129,505
|
||||
414,163 -> 182,163
|
||||
874,334 -> 532,676
|
||||
441,790 -> 441,976
|
||||
66,162 -> 226,162
|
||||
839,453 -> 310,982
|
||||
63,974 -> 132,974
|
||||
51,383 -> 297,137
|
||||
343,954 -> 262,873
|
||||
726,474 -> 637,563
|
||||
449,205 -> 449,279
|
||||
855,845 -> 722,845
|
||||
28,750 -> 33,750
|
||||
272,175 -> 212,235
|
||||
428,172 -> 710,172
|
||||
824,834 -> 824,557
|
||||
25,864 -> 855,34
|
||||
66,425 -> 84,425
|
||||
456,812 -> 456,785
|
||||
286,294 -> 73,294
|
||||
400,329 -> 525,204
|
||||
888,160 -> 888,124
|
||||
879,742 -> 761,742
|
||||
893,751 -> 858,786
|
||||
621,765 -> 10,154
|
||||
162,280 -> 162,889
|
||||
96,830 -> 646,280
|
||||
646,720 -> 250,324
|
||||
367,586 -> 695,258
|
||||
298,353 -> 566,621
|
||||
813,256 -> 813,367
|
||||
559,672 -> 471,672
|
||||
951,187 -> 234,904
|
||||
868,753 -> 80,753
|
||||
91,937 -> 803,225
|
||||
112,142 -> 18,236
|
||||
936,281 -> 936,976
|
||||
95,867 -> 753,209
|
||||
421,735 -> 833,735
|
||||
830,755 -> 963,755
|
||||
355,272 -> 355,70
|
||||
309,479 -> 309,45
|
||||
951,145 -> 676,145
|
||||
513,143 -> 713,143
|
||||
491,565 -> 988,68
|
||||
797,742 -> 596,541
|
||||
581,621 -> 277,317
|
||||
132,480 -> 101,480
|
||||
140,72 -> 375,72
|
||||
524,221 -> 897,594
|
||||
694,549 -> 179,34
|
||||
689,729 -> 689,527
|
||||
27,953 -> 27,32
|
||||
913,774 -> 913,705
|
||||
669,861 -> 669,360
|
||||
454,250 -> 454,344
|
||||
863,95 -> 13,945
|
||||
341,50 -> 341,795
|
||||
863,50 -> 212,50
|
||||
73,689 -> 143,689
|
||||
944,20 -> 31,933
|
||||
22,988 -> 873,137
|
||||
798,552 -> 798,774
|
||||
935,583 -> 935,393
|
||||
462,176 -> 986,176
|
||||
739,400 -> 972,400
|
||||
441,31 -> 441,37
|
||||
628,381 -> 628,339
|
||||
545,345 -> 615,345
|
||||
91,736 -> 373,736
|
||||
825,738 -> 825,687
|
||||
541,877 -> 541,569
|
||||
750,739 -> 390,739
|
||||
873,384 -> 873,665
|
||||
597,61 -> 385,61
|
||||
518,62 -> 229,62
|
||||
623,192 -> 502,192
|
||||
163,861 -> 732,292
|
||||
748,304 -> 873,429
|
||||
375,436 -> 375,655
|
||||
146,228 -> 146,91
|
||||
808,844 -> 243,844
|
||||
174,115 -> 982,923
|
||||
598,384 -> 598,956
|
||||
932,736 -> 843,736
|
||||
772,110 -> 883,110
|
||||
298,960 -> 852,406
|
||||
744,772 -> 693,823
|
||||
605,639 -> 731,639
|
||||
126,770 -> 732,164
|
||||
13,986 -> 988,11
|
||||
756,37 -> 756,164
|
||||
132,900 -> 984,48
|
||||
806,524 -> 331,524
|
||||
84,645 -> 84,195
|
||||
329,447 -> 939,447
|
||||
684,566 -> 793,566
|
||||
747,595 -> 747,181
|
||||
293,121 -> 430,121
|
||||
42,918 -> 826,918
|
||||
32,312 -> 833,312
|
||||
42,309 -> 42,752
|
||||
332,74 -> 736,74
|
||||
699,209 -> 495,209
|
||||
297,113 -> 297,827
|
||||
515,973 -> 515,35
|
||||
774,951 -> 774,290
|
||||
471,921 -> 919,921
|
||||
297,282 -> 297,524
|
||||
477,825 -> 477,343
|
||||
220,665 -> 351,796
|
||||
483,128 -> 376,128
|
1
data/day_6.txt
Normal file
1
data/day_6.txt
Normal file
@@ -0,0 +1 @@
|
||||
1,4,2,4,5,3,5,2,2,5,2,1,2,4,5,2,3,5,4,3,3,1,2,3,2,1,4,4,2,1,1,4,1,4,4,4,1,4,2,4,3,3,3,3,1,1,5,4,2,5,2,4,2,2,3,1,2,5,2,4,1,5,3,5,1,4,5,3,1,4,5,2,4,5,3,1,2,5,1,2,2,1,5,5,1,1,1,4,2,5,4,3,3,1,3,4,1,1,2,2,2,5,4,4,3,2,1,1,1,1,2,5,1,3,2,1,4,4,2,1,4,5,2,5,5,3,3,1,3,2,2,3,4,1,3,1,5,4,2,5,2,4,1,5,1,4,5,1,2,4,4,1,4,1,4,4,2,2,5,4,1,3,1,3,3,1,5,1,5,5,5,1,3,1,2,1,4,5,4,4,1,3,3,1,4,1,2,1,3,2,1,5,5,3,3,1,3,5,1,5,3,5,3,1,1,1,1,4,4,3,5,5,1,1,2,2,5,5,3,2,5,2,3,4,4,1,1,2,2,4,3,5,5,1,1,5,4,3,1,3,1,2,4,4,4,4,1,4,3,4,1,3,5,5,5,1,3,5,4,3,1,3,5,4,4,3,4,2,1,1,3,1,1,2,4,1,4,1,1,1,5,5,1,3,4,1,1,5,4,4,2,2,1,3,4,4,2,2,2,3
|
1
data/day_7.txt
Normal file
1
data/day_7.txt
Normal file
@@ -0,0 +1 @@
|
||||
1101,1,29,67,1102,0,1,65,1008,65,35,66,1005,66,28,1,67,65,20,4,0,1001,65,1,65,1106,0,8,99,35,67,101,99,105,32,110,39,101,115,116,32,112,97,115,32,117,110,101,32,105,110,116,99,111,100,101,32,112,114,111,103,114,97,109,10,76,39,523,252,920,699,184,945,605,1243,71,604,51,245,1743,833,45,337,1928,224,547,283,413,1264,199,3,75,153,1418,1091,886,1578,1718,228,1679,775,585,98,682,108,1420,223,341,1030,58,8,505,348,7,162,492,125,271,500,495,172,639,313,1073,60,117,210,345,60,357,1061,114,11,768,19,1009,16,49,242,82,461,659,464,672,669,1010,625,148,779,79,447,159,227,419,1105,481,684,742,211,1633,72,554,1237,148,1039,840,302,291,51,693,83,62,337,27,696,65,1146,912,6,75,233,748,844,102,1300,621,1148,77,384,194,863,1305,1501,1193,811,1496,245,109,78,372,719,535,38,444,1245,85,545,1155,147,265,31,699,175,93,1165,645,4,1241,630,483,584,1749,927,1012,571,179,112,425,13,359,269,34,753,1278,414,637,55,155,96,134,232,545,90,169,7,485,25,353,78,19,52,1671,211,53,138,278,87,297,392,743,81,162,612,663,286,231,144,102,1396,574,507,1077,262,12,1047,181,1503,91,660,827,294,173,324,971,862,86,1428,684,440,163,715,1535,231,597,958,1023,1088,1646,617,1696,219,802,149,614,1412,137,35,368,78,259,280,920,52,452,741,109,553,360,151,991,1317,1064,72,252,429,581,286,450,72,50,18,720,598,422,645,349,655,533,1790,644,197,1506,401,332,733,780,276,131,131,606,948,80,1205,85,847,79,194,517,394,3,1234,643,752,121,354,499,20,99,195,194,1401,1050,40,183,1625,3,646,221,598,27,1041,693,527,82,767,495,1338,70,580,178,1473,375,960,66,279,213,836,572,1262,1118,969,275,249,657,1659,590,60,528,177,1463,347,281,481,107,278,412,47,1893,683,717,33,1652,284,317,873,727,119,143,343,88,133,521,1023,52,236,121,7,193,1,66,121,294,156,131,169,52,300,64,640,120,958,130,947,1549,43,580,498,290,492,1047,1264,46,431,1649,607,198,663,129,339,1623,157,62,363,71,898,449,437,803,798,531,80,14,180,1043,828,404,226,186,203,1087,597,1365,457,1371,320,198,66,1046,46,428,1390,78,798,457,443,659,130,212,99,194,30,1518,226,109,350,480,773,117,162,1052,740,320,1090,340,616,1125,78,1006,597,1144,76,583,41,13,674,296,100,736,943,909,948,869,1283,665,68,1107,1127,312,35,940,1250,1240,148,212,188,24,907,313,185,17,412,897,89,379,100,44,601,22,169,784,1232,1262,210,147,185,704,294,157,417,1414,496,525,322,416,438,587,1425,268,939,14,274,598,591,55,31,87,63,14,392,8,423,281,737,634,195,202,275,38,1,278,852,53,1120,585,4,754,619,288,7,10,300,214,263,936,454,185,17,73,283,316,520,407,125,990,411,455,50,725,1431,455,33,261,245,383,127,2,303,98,1574,82,24,550,424,591,263,684,1339,466,519,1098,1100,455,216,1544,665,706,1343,95,131,432,899,993,346,11,185,183,499,704,1579,110,233,41,21,220,693,938,963,4,590,126,199,15,36,1056,1250,1095,49,306,1350,1215,599,162,11,746,5,638,907,166,1486,339,397,1374,903,321,506,196,732,3,76,1269,1238,629,1496,974,1424,30,685,375,260,272,1230,82,30,854,428,24,11,961,245,873,6,1430,119,228,188,131,1395,278,34,88,268,1072,94,380,1203,4,89,55,849,630,269,1079,608,568,1265,328,1008,130,28,670,737,128,806,119,51,47,59,108,1158,102,375,26,122,387,517,231,320,25,591,140,143,474,21,1051,412,84,1501,5,211,24,366,454,2,196,127,1098,592,103,1331,1004,924,605,308,103,1408,223,205,270,53,90,1309,119,979,929,1277,575,394,146,194,3,1855,46,1327,492,1224,884,367,218,1068,89,493,210,1128,220,385,804,668,496,1202,308,262,671,166,13,512,111,840,508,1357,149,792,748,439,1001,1705,58,232,104,68,115,585,678,69,795,104,505,577,564,213,256,64,608,1134,359,17,68,123,776,680,553,198,652,1058,1575,500,797,550,325,32,529,299,207,159,490,600,798,25,473,127,683,813,1347,162,90,231,220,933,2,1023,250,419,39,1049,1315,1179,1264,339,285,84,234,209,781,1293,49,177,118,618,662,126,922,219,222,909,460,811,25,75,223,7,227,613,918,121,238,1016,110,220,1101,360,321,1670,638,170,687,1567,289,433,842,685,1252,470,113,83,163,63,3,710,13,1164,917,16,191,1169,392,213,426,151,1182,107,167,1071,538,1242,1247,116,117,1638,675,498,570
|
200
data/day_8.txt
Normal file
200
data/day_8.txt
Normal file
@@ -0,0 +1,200 @@
|
||||
dbcfeag cgaed fe bfgad aefcdb efa efgda gcef dcaebg dfeagc | fae cfge fae baefdc
|
||||
ea bfecadg bgafcd deac ebcag eab debfag eabgdc bcgfe bagdc | cdbagf fagbcd bae fcegb
|
||||
fbgdec cbgeaf cbfag bd bgda cgbfda dbf fecda bfadc cbedagf | gecfdb cbfga bacgef dfb
|
||||
geabdf cfbge dcbeaf aebdf dgea acdgfbe fag gfbea ag cabdfg | dfeabc dbaefc fdaebc fga
|
||||
gcae cefdg abdcgfe cg fcg afcegd dbgfea agdfe dcafbg bcdef | gc caefdg gcf egdcf
|
||||
efgcb fbac dbefg bce efacg fbgcdae cb egfbca dgfaec dcgbea | fgecb bcfa bc efcag
|
||||
efcgdb da bdefg dfegba fbacg gbcdea dbafceg adb feda fadgb | da ad cgabde cebdga
|
||||
ca fcabegd facd agbed acg cfadeg acdeg agcefb cdfgeb efcdg | cdeafg cag efgadc gacbfe
|
||||
fdacgb cfa cfage gabce dfagce edagfb dcbfeag fc fced gfdae | gabdef fdegba gaedcf fac
|
||||
acgdbf faedcbg fa cbgdae fgbdae aedbg adf fbea cfdge fedga | fad egdcf feab bfcagd
|
||||
ged cadgf gcdafeb cabgfd cgedf aedc ebfcg faebgd ed fcadeg | dfgca gabefd dafgc ecfgd
|
||||
bcedga dceba gcadfbe dfec adcbfe fda fabge df fbdae bcfgda | adgcfbe fbgae dgebafc gacedb
|
||||
fgcabde edbcfg efcdga dfbcea dbaeg fea fa dbaef acfb dbfec | aecbfd aedcfb bdaef abfc
|
||||
cfbd gefad dce fdeac dc ecabfd dgabce gabdecf afbce fagceb | bdfc bcgaed bgdace afegd
|
||||
acfgde egdfb dcaf gecfd ecdbgfa gcdbae cefgba dcg gcefa cd | eadcbg cdfega fdgeac dgc
|
||||
cadfgb edcgbfa dc cgd fegcb dfabg cdaebg dafc fcbdg gbdeaf | afdc adcf befdag gfcdb
|
||||
deafg ebafdcg gcdfba bge eb fgcbd gbefac bdce fdebg gdcfeb | cbdagf bdce gdfeb fgead
|
||||
acbdef bg agebdf afbcg fgbeca edafcgb eacfb gba ebgc fgcad | begdaf gcbe ebdfag dabefg
|
||||
ga agc bdegcaf gefbc cfdea dafgec fagce dgebca aefbdc gdfa | acfedbg bfaecdg gca facedg
|
||||
abdg ad egcabf ebagf afd gdfceab dcebf dagbef cdgafe deabf | bfedc cbedf gdab afd
|
||||
efbadc cafbd eba fegda fcbe dbefa efcbdag adbcge badfcg be | be agdfe cedbag dcbeaf
|
||||
adegb cgafb badgcfe fged fgaebd eabgf bceafd eaf eacbdg fe | bdgeac adgbfe bdgae acfgbed
|
||||
dbfega befag gbfdec gacfed fcgdabe bgf deagf bf dafb bceag | bdfa cagbe gceba agbdfe
|
||||
fecagd cbfeagd fdecb fg fgbde ebgda cagdbe fge gfab agefdb | geabcd gdbea ebgafd egdab
|
||||
ab agdcfe dcfgb cba adefcb adfbc bdae ebacgf aegbdcf fcade | gfecda dfabc edab bfcad
|
||||
bcfae ebd gefdacb fdceg dbaegc gdbf gcefbd cedfb adfgce bd | gebdcf bd dgfb ebdcgf
|
||||
gbcafde cdaef dfe ecbf egcda fadgcb bfdac dacfbe bgefda ef | dcgafb dfaebg fbec agbdfc
|
||||
fe cfedab dcfgeb gdbef gadeb cegf fgcbd fbe abdcgf ebacgfd | debfg abecfd adbefc gdcbfe
|
||||
ad cbfeda acegfb gdcaeb adcgfbe bda abefc dcabf fgcdb afde | gdcbf cedbaf dbagec becfa
|
||||
acegb efcgab edcfgab aebdc gce ge fage egcdfb agfbc cbdfga | eg cafegb fcbeag acbgef
|
||||
bcaf agefdc bcegaf eaf bdgfe agfdecb efgab af abegc dgacbe | defbg dgaebc eaf cebga
|
||||
edabcf bdeg gd cadebg dgcab gfcaed febdgca cdg beacd cagbf | befadcg fbgca afdecg bgceda
|
||||
gadfeb ag gfda cbeda fbeacg bgdcaef dgfeb eag gbdea fegcbd | cabefg degbcf gdbef bcdgef
|
||||
efbcda cgfd dgefac dfcgbae degaf adg debacg aedcf gd aebgf | ecfad cgbade aegdcb gfbae
|
||||
bdc cdfgb cabgf gabd fdebagc eabgcf bd abdcef gfcabd fgedc | faecdb fgecd cbfdag bcfadg
|
||||
dfagbec ceg egfad fdeabg acedg afedcg gc bcgaef eacdb fdcg | gcfd eadbc dbegcfa eabcd
|
||||
gfb egfba eadcfb gf adfg dgebfa dacfegb eagcb cbedgf fadeb | edfba afgebd adbegf efcbda
|
||||
fec caegd efgb cgaedfb gfbdec gfdbc ef cfdgab fdcge fbaedc | abcdef gcfbd bfegdac gcead
|
||||
gefdba abcef ead gedcab ad bfdecg cbged ebcad cafbdeg cadg | defcgb ade bgecd ceabf
|
||||
cabg adgefbc cb ebafg febgc fbc gdcfe cafedb egfabc aebdgf | bcdafeg ecbafd adbecf fbcge
|
||||
acged febgd agdcfb bdceg gdbecf bc bgc cfeb cfgbaed bgefad | dceag efbc cbfdeg ebcdfg
|
||||
gab adgcbef cebfg abdce dcbefg bafdgc abefgc aegf ag cgbea | gaceb aegf fgcbe cgebf
|
||||
fa baf cadfbge dbgef ebacgd dfceba adbec fdeba cfae dacgfb | dabcef dafcbe acgdbe ecdfab
|
||||
fgeca gecadfb aecdfb fb gcbed dfgb cgdbea ecfgb gfbdec efb | abcedg bf bf agedcfb
|
||||
fg aefgd bafcde gcfe bdgae gfa fedca cagdfb cfaedg ebgacfd | dcfgab dgfea gf cafdgb
|
||||
afbcge debgc cafdbg ae eadf afdgb gbdeaf aeb cgfebad abgde | deaf cbafge cbegd aedbg
|
||||
fbc afcegb fadgc fbeda cbed ecdafb cfdab cb fegdcab bdaefg | cgfad ecbd edafb cgafd
|
||||
fegbcd abcf gfabedc bgcad gfacd gedab efdagc dfgcab cdb bc | fbca cdbag cdfgab cgedbfa
|
||||
gfca gbdef eadcfg ebdcag dcg afecd gc decafbg fcegd bcfade | gcefd bcdafge cdefg edfgc
|
||||
gdae ad gecfd dcfaeb dfegcb gdcaf fdacge adf agbcf cebfgad | dgebafc edfgc da cbgafed
|
||||
ceg febgdca bfgdea gc adcfge cefbag agdc edfcb dfgce gadef | ceg ebdagf agdfe afbgce
|
||||
dabegcf bcdfag gdecb gdbeca gaebd fbdce bdagef cg bgc ecag | dfcabg abfdge gadbe cg
|
||||
dacefb efc gfaebc gbfe egcda agfbdc beadfcg fe fbcga cgafe | ef fbaedc ef efc
|
||||
cbgae faedbg fegab agc ebdgc eacf bgeafc ca cgdbafe gadcbf | eagfb aebgf gcbfad gfeba
|
||||
dcf dacbg bdcaef dfeacg gacfe cdfag fgde faecgb daebcgf df | fcd fecadb egacf deabcf
|
||||
egdfa dfaec gdab ga agf dbefga dgebf afbgecd bgafec bgefcd | fegbd gdfbe begdfc efcbadg
|
||||
cfd edafbc afbd cadbeg fgecbad gcaef dacef df dbcae efcdgb | adbf cabde baegdc cgbeda
|
||||
cbag gc cdgbe defbg agebdfc becda dbgcae cdg efacbd fecgad | fcegabd abgc dacbe cdaebg
|
||||
bf dacgf dfb befc fbedcg gebdc dbacefg abdegf gcdfb bedacg | bfec feagcbd egdcb daegbf
|
||||
aebgfdc gadcf gcdfeb dagce agdeb acfe bgacdf dec gfecad ec | ceadg edcag fdcga cdbagef
|
||||
befdgca dgcbf fedagc be bfe dcefb ecfdba acfed ebca ebgfda | dfbcae bafgdce bgcdf egbdfa
|
||||
bfa bdagfc dbega bfgea eagfdb dbgace bcefg dcbgeaf fa defa | ebcgdaf aecgdbf fgcadb fa
|
||||
agcdeb cgf agbdcef bgdfe efac cgefb abefgc cagdbf fc gebca | fegbc acfe becga deagbc
|
||||
adbfce agebd eadcbfg ega abedf fgab dgebc dgfcea ag agdebf | gdfcabe ebadf ga bfag
|
||||
gcebfd feacdbg acegfb afgce gbac geb cdaefg daefb gb fgbae | agefb gb adfbe efabd
|
||||
gadbfc ebgad dgecba fgae eacgdbf af ebcfd afd bdeaf gadefb | fa bdgaef gdbacf af
|
||||
bfeacd edgcabf dg gcabd cdaeb acfgb bcgdae dgae cgd bgfdec | bedac acbed abcdfge dgc
|
||||
cdage dgabec cbadg ge acfde edg becfagd gbec adbcgf fbeadg | cdbgea cgdaeb cegad gdeac
|
||||
ab gbaf cdegba fceadbg gfbecd bca eadcf fgeabc becfa cebfg | cagfeb cefabg fcbeg eadcgb
|
||||
afdec bcaefg ca abcd efcdg aec aebdf cdafbe begdaf eadgbfc | cdfeg afdce edfac gdfabe
|
||||
faebd fed df bgdcaef cbdega gdbeaf fbecgd badge afebc fadg | dcebfg dgaf fd cdegfba
|
||||
abdgf efg fe gdeabf cdbge cfadeg gdbef cafgdeb fbea bgcadf | bgdfe fabe gbfadc gbfcda
|
||||
agdfe cfbd dgfca cd abgfc cdgbea gbecfa gbadcef cda dfgbac | cegfba fbcd bfdc dca
|
||||
acdb bdcega dbfcge aedfgb dec fcega dc adegc fgceabd gaedb | badeg bdecgf cd cdageb
|
||||
abe ab dbecfag adgec agbf eadbg cbeafd fbcegd gadbfe bfgde | ebgfd efdgb gceadbf ba
|
||||
dgfceba egbcaf fgc bfgdca cbgfe cg faebc agce gdfeb debcaf | bedfac edbfg aegc eabcdgf
|
||||
bdfac dcfeb dbcefa dbgcaef fbae egdcb fgaecd fec cdbafg ef | bdfagc dcfabg gdbfeca eabf
|
||||
gfca dbcaf bfcgd fcgdeab degcb abcedf cbagfd gfb fg fdgabe | gcaf bfg fbg gf
|
||||
efcagd dbag fgd defgacb aebfg dbgfe bdeafg edfbc gd fgecab | fbeag ecgfabd degacf debgfac
|
||||
efcbg bacfe gbdce fge acegbdf cgdf aebdfg dgbcae ebcdgf gf | caefb cbfdage ecfgb bgedc
|
||||
fgdeb dcbfg fgae fbeagd edbfa aegdbc egb gafecdb bfdeca eg | dgbcea bdaef gfbde dfgbea
|
||||
bdcaf gdafc cbf bdefa cb fgceda bdfagc fcbgde afcgedb cbga | gbca fbdca cegfdb fcagd
|
||||
cfebgd cedgfa dcfabge dbfgc dgeb ge fcegb gfe abfdcg fecab | fge fabec gfbadec bfceg
|
||||
aeb ab gebfd abcdef edcag cdegaf gaedbc bgfecda debag gbac | beacgd bdfeg afgecd gedbf
|
||||
ab gebfadc acfge edafbc abegc dcegab gbecfd gbda cab ebcdg | dagb cegfa bca bac
|
||||
gaedb ebcd fgcea cba dcgafb febadg egcab adcbge efgadcb cb | dfcagb cbed bagce dbce
|
||||
ca dgfceb bfeacd fcbgd bdgca cfag gaedb abc fcbagd fgecadb | cgdfab cfag bac cbfegad
|
||||
gade gafcb bfgecd bge ecbda gdcbea eg beacg fdaecb agfbecd | dgae bgfca abegc cfdebg
|
||||
eac cdbef ac gfdae dagc afcedgb dcfae dafcge dbfega caebfg | gafceb dbeacgf cdga fbcde
|
||||
dbagfc bgedca df afgec daf beagdfc aefcbd bedac acfed dbfe | bedca cdaef baecfd befcad
|
||||
fdacb baedc acedfb bacedg fd gfcab ecdf daf fedgba befgdac | egabcd cedab eabdfg adf
|
||||
efdgc dfecga adfbe ac cage adc gfbdec cagbfd efdabgc caefd | efdab efdgcab ca cedfg
|
||||
ca acgf cadbgfe egfcab gefab cea defbc fecab edbcga fbgdae | cfeba efdcbag dacebg agefcdb
|
||||
bcedfa agecd ebgf fcbdg fde cgfed acgbfd cagfdeb ef cgbdef | fgeb bcfdg def ef
|
||||
bfcdea ga fbdegac gecdf cfdab bcgadf facdg aegbcd gac afgb | cbadfg facdb afbg dfecba
|
||||
fdcae afeg fa bceda dfebcga afcgdb dgecf acf fgceda cbfdeg | fa bdfcga fcbegd efacd
|
||||
efgbcd cf bdgace fgbad dfc fceabd dbaegfc bdcgf becdg gfce | bcedaf adbegc badgec bgcfd
|
||||
efcba ebdfga fda gdefbc da facde dacg fgedc gfeabcd acdefg | da bgafde cegfd edafgb
|
||||
daegb cbge bgcaed afgced ge cdabe fdbcaeg fcbeda bgfda eag | gae egcb egbc egdafcb
|
||||
cefda fadg bfedac bedfacg dgecfa eag ga fegcb becagd gcefa | dcfea eag cedfa bgfcaed
|
||||
dcfe gbeafd df bdcaf ebfcag fcedagb cdbag dcfaeb eabcf fbd | dfce geacbf cefd ebdacf
|
||||
efgbc agbd gd eadgcf becdfa bdace dge debgc adecgb bfdgcae | bgcfe bedcg abgd gdba
|
||||
cdbf edbfgc feadg cd ced gaecdb degfc efcgb fcbgaed befcga | cfabgde fgdcbe efacgb abgcef
|
||||
ae caegfd eadgc fedgba fecgd gbacd efac aed afcbged cgdbef | ae eacf abdegcf eda
|
||||
fc afcge dbgecf adcgfe eafbg gdebacf eagcd gfc aecdgb afcd | cfg dgeac afbge edgcba
|
||||
aedcg gfd cafgebd fg eadbgc adfcb cefg gabefd dacfg efcgda | dgeca afgedb cfdga aefgcd
|
||||
bfgaed facedb fbec dbgca cagfbde egcfda efdac acbfd fbd fb | efbc agcdb fagdbe bacdf
|
||||
fac dcae fgbda fagbce bdfac cbdfe ca cadbfe aegcdfb cebdfg | cdea cfbdeg ac afdcb
|
||||
geabcfd gfcaeb gcbead eba facbg fdgcab ea bgafe fdgbe caef | bagef cafgb afbeg cbgaf
|
||||
gcfdeb ceg fabcge edbag fcabdg bcgaf ceaf ec agefbdc cbega | bgafc baecgdf bcfged gbdfeac
|
||||
cf adgef cfgbaed bfdc gfc egcdfb dcgaeb degbc fcedg ecagfb | fdbc cgdbe gdabce gfdce
|
||||
bc afgcb cfdga dfcb cbdgea bgc efcgdab cfedga beafg bagcfd | bc bc cbfadg adcbge
|
||||
egdfb fa agfbe eacf befagc fba fbedacg cadebg agcbe cfgbda | bagfec bcdgaf cbfgad dgcbfa
|
||||
acgbde acgdbef cba ca bcgfd cade egdafb aebgfc agbed adgcb | fdgbc gbadef gfcdbae edfgab
|
||||
egbac efacgd gfbd fbcdag fecbad dgc badcf gfcebda dbcag dg | bacdg facbegd cgd dfcgae
|
||||
adgcf fbgcda efcgda dcbea fedg cfebag fae ef acdef gecbfda | fcagd gcadf gcefdba gefabc
|
||||
fegdba ba cedgaf gbade bfad egfda gba cadbgef gbced fcaegb | gedaf bdega abgde bafd
|
||||
gbacef gdab defgc bagfdc dfb afgcb efdbac bd dfbcg befcgad | cdgef bd gbfac ecbgfad
|
||||
fgacd ef dagfce ecdfa fae adfbgc cegf febdga ceabd bgacedf | abcgfed gfce fae efacgdb
|
||||
fbgdc afedg gcbafd gfedbc cfdag acd fbdeacg acbfde cgab ac | gdcbf cedfbg dacgf dcafg
|
||||
becf feadb abfedc dfcageb gcbda bafedg aec daecfg acdbe ec | abdef fdeacg ace ecbf
|
||||
dc cbfegda bfeadg dbcg gabfd adc dbcfga bface fgcade fdabc | dacbgf dc cdfba dc
|
||||
bc bfgedc fbc adfbceg cegb degcf eabdf defcb cdfgae fcagbd | bcefd gceb fcagde cbfgad
|
||||
ge cabgd egca egd adgbecf bfdagc decbag agbde deafb ebdgfc | cagdfb bgecda cgedba fabdcg
|
||||
cg cfagbd gcedfa efdbc gcd gbefda fegad efdcg caegdbf agce | fgced dgfacb befdagc cefgda
|
||||
bfedgc bec ce fcaebd efabg gdec cgfdb aebdfcg bfgcda cgbfe | agebf bgdcfe ec agcbdf
|
||||
db dfcbge edgfca gabd dcb agfcd bafcd afbgcd ebafc edgfbca | acfdg cbdfa afceb gbda
|
||||
cadegbf egdfbc adc acbdg dgbcf adgfbc da cgfdae fbda ebcga | dgacb bagdc fgcbd aegbc
|
||||
geacf abc gfedba cbadfg dbcg gfdba cagfb cb bfdcae adfecbg | cb eadfgb bcfag dgcb
|
||||
abdfcge adbeg badcef egcf fg fgb fbdec gebfd abgfcd gfebdc | cbeadgf cfdbag gfdbe gf
|
||||
facdbe acgfbd dbc bd abgcd adceg bcegfa fdgb bfgca badcfeg | ceafdb bfcag dcgba bgdf
|
||||
gcda cadbe abcedf cabeg edbgcf begcda begaf cg acbdefg gbc | dbace gdbeac dacfgbe abdce
|
||||
cgf gf fadegbc afgcde abgced fecba ceagf dcagbf fgde cdaeg | gdebacf gf gdfe cfega
|
||||
abdef bc gecaf dbcgfae cbfg efcba bac acebfg degcba dcegfa | bcfadeg afceb edfgac gcabed
|
||||
bfcged bgdac becad fagc aegbdfc gacfdb dbgfc dafgbe ga bga | fgdecab abdcg cefabdg egdbfa
|
||||
abcfg baecf agec fcgaeb agedbf ag dacfbeg bag eafcdb fcgdb | bcdfea efdabg ga fdbgc
|
||||
ba baf dfbgce cgab cefgdab efcad efacbg cgfeb ebafgd cafeb | fdcegb abf baf ecabf
|
||||
cegafd egdcba gbedf cgfde cfad ecf fcegadb eagdc bgaefc cf | bfged defgb gbfed efc
|
||||
gedfa abdce fadbe ebfc fba badgce bf gabefcd fdbgac befcad | bcdgaf fdbgca bfa fgbdca
|
||||
bacef cg dgabec agfc edfgb cge agfdbec fcabeg cgebf abfdce | decfbga cagf adcgbe dgefb
|
||||
eafgd ce fbgaced ecfga eafdgc gdce cea cefdba cbfag bdgafe | eadfbg dgec efgca degfa
|
||||
decgabf fecd acd acbegf agdec gabed gacbfd faceg cd fgeadc | dc dcafge abecgf dc
|
||||
egd fdaebg gcbeadf fcdge ge adecf gbce dgfbac dcfgeb gdbcf | fdcae gfdbea bdfcg eg
|
||||
ad cbafe dabe dfa gbfcea ceafd dcbagf fabdce bfceadg dfgec | cebaf aecbgdf cgdbfa fbaec
|
||||
fc cdgbae gfcbad badcg fcdba feadb fac cgefad fdgbeac gfbc | cf cfabd caf gdfcea
|
||||
fdgace edac cdfag de dcfge facebgd cgebf dfebag def bafgdc | fdgac gacfbed edgacf dgcfa
|
||||
gedfac acedb fbcadge acgefb dbgf fdaeb dgafe fgaedb bf fba | fb bf bf agefcd
|
||||
gefbdca fagbed cgaeb gf ebdfa gdbf afebg feg feadcb geacfd | egf fedab gaefb eagbf
|
||||
efadgbc bfag edgcb cga cefab afbegc ga gaebc eafcdb daefgc | ga acg gcfbade dgecb
|
||||
efcgbd gebcf gcadbf agfce fcdeagb gfa ageb aefdc ga gacbef | gcebaf geba acfde fga
|
||||
ga adbg fdeac gfa fdgbcae dgfabc cfgdb fegbdc fcabge agcdf | adbcfg efadc agcdf cgdbf
|
||||
febdc dacfeb gbfce cfgae bge bgdf dgcfbea baecdg gb ecfgbd | gb fcedb becdf gb
|
||||
bgacfd cdfabeg adgce bcegd acdefg gb cgb bgae ecbadg bdfec | adcbfg gdfcea deafbcg ceadfg
|
||||
bc gdfeac fbaec egfcba dacbeg cab gacbfde eabfd faceg fgcb | afbegc cdgabe bagecf ebcdga
|
||||
fd dfe fdgae abegfd dbcaeg dfgb caedbf efcag dageb dbfeagc | dgfb gaedbf gfbd dgfcabe
|
||||
agefbc aefdb abdge cdef bfdcga dacbf fe gbdcefa eabcdf efb | cdbefa adfcbg fecagdb ebf
|
||||
gbade adecfg abegcdf dcbfa cgbafd cfeb dfaebc fe feabd efa | dbcfea bcfe fecb bafde
|
||||
dfba dfc efbac cgead ecfgab gdfecb edacbf df afced bgecfad | afdce bcfegd efgbac adgce
|
||||
abfcg egacf bceafg dabgc fgb fb fbecadg fbce gafcde gfdbea | abdgc defagb cbef egcaf
|
||||
caegb decgbfa cebf edacg cgfbae gbc gfbea baedgf bc bfcdag | agebc bgcae cbg gefba
|
||||
ad gadf feacg aed agbfce egcda fedcba abcdgef bcdge gecafd | gedfca ad febgac dcaebf
|
||||
cegbd bgcfda dbfeag acef gcead cagfde dcfga gae fagbced ae | defgab dacgf cebdg gecdfa
|
||||
fag edfcg cdfa fa ceagfd fdgabe gebac egbfcd egdcfab gcaef | acebg fag fgdec dfegcb
|
||||
abe bcdfa acdbgf befd eadbc acbfgde eb fgcaeb gacde fcdbea | eadbc afdgbc bgaefc cabfdeg
|
||||
afdgce dgabe dgfbe bdegfc dfg agcbdfe fd abegfc dcfb bfgce | debag bedgf ebdcfg cgebafd
|
||||
dgfcea eagcbd gfceb adgb cgdeb dg eacdbf bedcafg dge abedc | ecbgf dg dbfcgea ebcad
|
||||
dgecf badfce egcdfab efabd edfca ac badc gbcfae eagdfb caf | feadc febad dacef caf
|
||||
gfb bacgde acbdgf afbd bdgca bf bgfdcea ecfag dgfecb fbcag | fbgdcae gdfbca fbg fgaec
|
||||
bcdg dc gedabc dec cdeag cbedaf gfaebc dafge bcegdaf agceb | dfage bcefad cfbage fdgae
|
||||
gc cag agbec dacbe dcbg edcbgaf gdcfae dacebg eabfg febacd | gc cbdg gc fedcba
|
||||
gfdbace edbc ecfgab efcdbg ce fdcabg fedga egc cbdgf gedfc | ecdb edgfbc eagcfb cdafbg
|
||||
afceg bgdeaf daceg degacb fe dfec adfgec acdgefb gcbfa gfe | efg gcfea dcfe fcgea
|
||||
bdca gcfdbea dc acbedf gbfde cagefd cfebag dcf bdcfe ebafc | eafbc bcfage defcb agcbfe
|
||||
cabefg adgeb fd dacf afgcb bgefdca decbfg fbd dafgb dfagbc | gbfca cbeagf cfbgad fbd
|
||||
bacgef defcga afdgebc facebd afebc badc bdfeg dc dbfec dce | adbc eafdcb dabc fgedb
|
||||
cdf decb fagec dc dcgbaf bacfgde gdfeb efbadg efgbdc cfged | ecgfa efgbd fedgab dc
|
||||
faebgd egdfcb gecadb gdbce ag aeg cgeab gacd faecb debcafg | ag fdeabg decbg ag
|
||||
eagc bdegf ga gdaef adg cbgdaf cfaegd dabfce adcegbf dfeac | acedfg agd cega bgefd
|
||||
cfgbe ceadf ab cbefag cegfbd bega egdfcab fba gbfacd efcba | ceafbg abf ecfba ba
|
||||
fgdce ecgbaf gebd bfg fdbac dfacge fbegdc cgbdf dacbfeg gb | aebcgfd cdabf ebdg egdcaf
|
||||
febda edagf egf gdcf bcgafed fg agcbfe caged gcadeb dgaefc | cegbad gcdf gaedc ebdgca
|
||||
eabgf fbdcg dfecag acebgf bafdge fbgce ecf eacb begfacd ec | fbgea gcefb fegcad decfag
|
||||
fabgcd febdac acgdf beagc dgaec de eafcdg dcfbeag dae fdge | fcdgea ceadg fegd bdcaef
|
||||
bcafeg ecbad dcfe ecbgafd gdefab dfabce de cadgb ebd fcaeb | bed bgeafd fgeacb ecdfba
|
||||
afcgeb gcebf cdbfag cfea bdgfe cbgaf ec gfabecd bedgca egc | gce dacfbg cebfg afec
|
||||
ecdafb cfeag bdgaf febga egabfc eb gbec fcebdga eab dfegac | bea gbafd eab befdac
|
||||
fgbacd fbcedga fgc fg gdaf bcdgef cdfba fabced cgbfa gcabe | egcadfb adgf gbcefd gcf
|
||||
dfbcga caefbd ac gaedbfc afgc afgdb bdgce dgcab fdgaeb dca | afbgd cagf adc bfedga
|
||||
bdgce dbf cgeadfb fd gfbde dfbecg gaebf dacgfb cdebga dcef | fegbd fgbde bgfde fcegbd
|
||||
gbda egadbf bfegd acgfde bfgaec gabef cfbde aefdbcg dg ged | abgefd gdefba deg gfeba
|
||||
afebcd degcfb dce dcfgb degf bdcgafe bdcge gcabdf de cbaeg | de bagec gcdeb ebagc
|
||||
eadcfg dfc gcbfade cd edafb fbcge afdbec agdbef ecfbd bdac | efdab agefdc befad defabc
|
||||
agbedf degbfc begcd ceagdf cgabe ecd dcbf ebfdg abecgfd cd | fdebg fdgbe cdgeb bagdef
|
||||
aefdb degf fdbaeg egb agebd bcfage gcedfab bdagc ge febacd | bgfdae fdge acfdeb deafb
|
||||
cegfba dfcea gbea bac ebafc gdcebf gebcf ba gfdbac gacfdbe | febac aefcb cbfgda cafed
|
||||
ec ecfab feadbg ecb dabfc cbfegd dbafgec feabg caefgb ecag | acbefg afbeg fecgabd bcfad
|
||||
fd decag fagbe beafdg egdacbf gbfcde dbfa agfbec dgf geadf | bfda befgcda fgd adfb
|
||||
af eabfdg edabc dgfabc efga fdbae fcagbed abf gbcdfe efgdb | gefa gfabcd fba gcdfab
|
||||
dbfacg degcb gecdaf adcbg bafegcd dfbag gbdefa ac cabf agc | bcadg afbc bdgfa abcdg
|
||||
efab cbedg aedfbc bfcad geacfd ea fabdcg adbfgce ade ecabd | fdceba bfceda ecgdfa aefcdg
|
100
data/day_9.txt
Normal file
100
data/day_9.txt
Normal file
@@ -0,0 +1,100 @@
|
||||
9987675345698765453987654321234589999899878923493212345678999998656782467898999899878301234578998787
|
||||
9876543234789765322398743210123567898789767899986101239899789876543101567897898798763212355989987656
|
||||
3987784014897654310987654331235679965697644998765232345997654989765212799956999679854343466799976545
|
||||
2199875323998765421298776542346789434595433498754345456789543499876353489549876542975858977899876439
|
||||
1012965439899896432359987667457896546789322349987656987898932445987454578932987621986767898943989598
|
||||
2125976598798989943467898876589999858899910959898767898976101234598966689431298320987898999432399987
|
||||
3234987987656579894578989987679998769999899898769879999965422345679298995420139434598999896543459875
|
||||
4346799876545456789679877898789769878989798799656989899876563496799109989591298548999689789656598764
|
||||
5956998765434345698989765679895456989678679678943496789988689989898997979989987657987565698787989543
|
||||
6899898764321234567999876989954345696534598789432134679999799976987656765778998769766464989999865432
|
||||
7987679653210155789999997899875456789323999899521012345899899765698943254667999898954353578999654321
|
||||
9696598654323234589788998998986567898919894958933423456789999753459892123458998987893212467898765432
|
||||
8543498765434545679567899987987679987898743147894934567898989432398789334767987876789101298989876543
|
||||
7656789878545656789338989876598789986797654235679895678997878941987678975879896545698914345678987654
|
||||
9868998989656877892129678965439899975498754346998796789986867932954569986798765434567895458989998765
|
||||
8979987798787898921012567894321999874329985459876589899985457899873458987987654323469986567899869876
|
||||
7899876549898959999923456789432398765909876567987678999875322987654567898998773212378997698998754987
|
||||
6534997831999943987894567897543999899899987878998789789964201298765678919679654323456789799987632399
|
||||
5424598942689899876789678987659899988788999989019895699865362349986989103498795434567899899996549989
|
||||
4212349653498789765699989798798789877697898999999924789976457899798993212379986747698946999897998878
|
||||
5334569878989678934998995679987678954545987899789935689987567987649898763467897858789235798789887867
|
||||
6446878989876569976897893459876567893239876797689898789397679893234789654598998979999546999698785458
|
||||
7557989199987457898956789998984348994124965323486789895498798789123569875989109989898969898598654345
|
||||
8998994398796346899545699876543236789549876412345678979569987679023456989878992398767898767469643234
|
||||
9999689987654235695434689987652125678956987954456789768979876568994568999867989987659999955398759345
|
||||
7887578976543123489545679698983234789768998765677993457899765456789878997654878998767899843229898956
|
||||
6543469998768245678956789529865445899879999896798912349998987347899989989653467899879998732019987897
|
||||
7672398999875456989767895439876556789989989999899102356987798456789899878932356789989987643498976789
|
||||
8954987899986567899878976546989667993498979978976212469996549567895798969991245699899998754987685698
|
||||
9769876989987898901989997656898789101997768769895433498765439878934987656789346789788999869876564567
|
||||
9898765778998979312397899767999893249876753656789656569976524989423976546789498997697986998765473456
|
||||
3987654569789765434456976978999974756965432345678987678987734694319887635689989998456894219874321567
|
||||
2198733477678978645797895989989865669876543766799998789599848789998765212678979999367975323985432378
|
||||
3989821234568999756898934599878976798998754567898999897679959899899874323599867895459876434596543458
|
||||
9876432347679549887969423498969987897989865698997899979898767998798765435679756899567987546987654567
|
||||
9876543489789832998953210987658998996579878789876588965939989987659987546789645688979987657898785678
|
||||
3987654579898721239998723976547899987467989999995477894321098765545698687895436577898998898999896789
|
||||
2398766789989654359899644597656999876345697679654356965434197543434989798954323456987899939998987893
|
||||
1239887894678965498788987698987999765234789598765467896545976532129879899996534567896789123976798912
|
||||
0945998923567896997687898999298987653123696439876588987679876549098765945987965778945693239875459901
|
||||
9896789434678999876575999899399199762064594321987678998789989698987654326599878989238789459954345899
|
||||
6797898645789998767434598798989349872165689410198989769899898997898543212367989994345678998986254678
|
||||
5789949756894987654323497687878959989278796521239797653998767876799654302456999965456899987432123689
|
||||
4569439887893998799934598576967898995478897432345698992989545665698775212567899876697899876543234567
|
||||
5678921998969899987899974475459997898567998945456789989878932124569854323498976989989965987654345678
|
||||
6799990199656789876798863212349976987678999896897899879767893234698765434578965699878974598785458789
|
||||
9899989989543298765987652101267895999799998789998998968456789345999879545679854598767943459987569893
|
||||
3998979678932129894598543323458934889934987698999987654345895469876997656789765987659894567998678942
|
||||
1987667569892099989679656445667895679899876597896596543256896567989998789899876798547689978999789531
|
||||
9876553456789989878998767986898996798788995456789987752125789678998999897999987899534567899989898940
|
||||
8765432345679878967999899597959789987576789347899876543234589789987899975689999987656789929876967891
|
||||
8764321234698766556899995329345678987455678956789989684348678999876798764567898998769893212975456932
|
||||
9863210123459654345688989910258789876323589969894398765457789998765679923459987869878999109864349894
|
||||
9854525234598743234567979891345897995474567898989239878767899997654567895678996555989998919753239789
|
||||
9765434545987655455679865789457896986567678967878946989878959876543456789789789434599987898954398679
|
||||
9896565656898766767999954567978965497678989656567898998989245988652346799894698765679876767895976532
|
||||
9987879768999879879878323489989654398789893432349899987690159899721278967923989876798965456987987699
|
||||
8998989879988989998965412397898765219899762101234789996521998798754367899999878987987654347898998987
|
||||
7659395989876897987654323456789898323998753242345678989439887699865456899989769999876543236789019986
|
||||
8543214598765456798987654589896987536789894355456989879598754589876967999877658999997655345678998965
|
||||
7654323679876578969999865678945698545678976566567898769987653479989898998766546898998786457799987654
|
||||
8795498793997989657899976789234987657799987677678965657898794567998789987653234567899898568899998723
|
||||
9989989932398996546789989890123498968989998788789654346789887679899678996442123458901987678999899812
|
||||
9878879993989875237899999989254989979878999899898766869895998997676567894321015667892398789999798923
|
||||
7767767989878943123978999878969978998967899922939878998953219876565456976534124578943469999988697654
|
||||
6553459876767894234568986767898767987656789210125989987994101985432389997645234567894590129876598785
|
||||
5432345985458995679799875456989659876545456991234899876789919996676569987656545678965989239988439986
|
||||
4321359894346789789987654345678943965434345789546799765679898987787878998787656989879879998895321298
|
||||
5430198765497899894298763234567899876521234899987987654598787999898989109898767899998967897654210129
|
||||
6541679876989945999987654345678989987752345678999999766987656579999793212999878999987656789775323234
|
||||
6432589989877899998998765476989978998843459789998939878996545468989654329989999998798787894989876545
|
||||
7543458998965778987679976687898767898754678999987923989876432345678976498978989987659898943497987676
|
||||
8654567987854567896563987798998656899865789019876894599987321238789098987967878998743989932346798888
|
||||
9766779876543488997432398899987745679877892198765789998765450139989129876754568999974567895459999999
|
||||
9877898765632356789543459921096434567988943989654567899986521234678998765323467899865679976598897912
|
||||
9988987654521237989699567899987558978999659876543457899987634656899986544212456789877889987987656893
|
||||
9999996543210357678987998998998667989431968997652346998998785667901997432101348995998994398996545789
|
||||
8932987987631234589476789987689978999599878994321345997899996778929899546712467894239987469997434679
|
||||
7891098876546349679345678965578899998989989989935459876979897889298778994324578943190296599989323567
|
||||
6989129989865478993234567893456799987878998776896567965468789990199656989435678954989987989978934569
|
||||
5678949999976569310123689932345689876569899565789778984345688999987645678945789769979999878767897698
|
||||
4567898999987679453294594321017992985498765434698999993234567898765434899656899998768999765457898987
|
||||
7698987898799789564989695532399891996309899323456789832125678919876325999797999887657987654346789876
|
||||
8999876789654998679879989649989799876212987437899898761012348901985476789898998765431298743235689985
|
||||
9899965689543249998765679998767678965429876556945987652125667899876787899979459963210139852123798954
|
||||
8788754799932129879654587789656567896578987987899876543234799998989898998764349854321298764234567893
|
||||
7656543458794298965443445678932456789789598998901997654345678997693939789943298765432359879876899952
|
||||
6543252345679987654352237899751577899895459789212398897656889986542124599892109887545456989987896541
|
||||
8432101489989999875210128932967698998901345699924569998767994987431023999789213998676569995699965430
|
||||
7654312678999998996321239999878789767892396989895678989879993976545129897678954598789678934567976521
|
||||
8976433589998767987542356789999891557789989978789789467998989897685398789569899989899789325679897432
|
||||
9987544567899655698653468999987910345679878765678992345987878799896987667348798976949895434599789545
|
||||
9999655778999543219766567899876621234598765454567891249876567689929876543237667895435976565987679656
|
||||
8798789989988959309877678999765432545699654323479910134995456578912997632123456789523498878996598977
|
||||
6549891299876898912988989789876547686987543212567891239984323469329876321014567898654569989985456799
|
||||
1234932997764667893499995678987658798998654403459932398765012478998765432125678979866789699876345678
|
||||
0356799876543456994567894567898967899019873212378993987654139989219876843336789565977896579843234589
|
||||
1235789987532345789978943456899878978929764323456789398543248892101998765459895434598965498765445678
|
||||
2356897698421234567899432346789989767899875435668891239654356789432789887567976323699654329876786789
|
||||
3567896543210246788987541457892499848921986546879910129767568996545699998678988434789543210989897899
|
@@ -1,8 +1,8 @@
|
||||
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||
import .Aoc: @aoc
|
||||
|
||||
function sliding(in, w)
|
||||
((@view in[i:i+w-1]) for i in 1:1:length(in)-w+1)
|
||||
function sliding(in, w::Int64; step::Int = 1)
|
||||
((@view in[i:i+w-1]) for i in 1:step:length(in)-w+1)
|
||||
end
|
||||
|
||||
function day1(in, w)
|
||||
@@ -17,12 +17,12 @@ function day1(in, w)
|
||||
c
|
||||
end
|
||||
|
||||
function p1(input)
|
||||
function p1(input::Vector{String})
|
||||
day1(input, 1)
|
||||
end
|
||||
|
||||
|
||||
function p2(input)
|
||||
function p2(input::Vector{String})
|
||||
day1(input, 3)
|
||||
end
|
||||
|
||||
|
63
src/day_10.jl
Normal file
63
src/day_10.jl
Normal file
@@ -0,0 +1,63 @@
|
||||
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||
import .Aoc: @aoc
|
||||
using Pipe: @pipe
|
||||
using Combinatorics
|
||||
|
||||
|
||||
function check_line(l, dict, scores)
|
||||
braces = []
|
||||
for b in l
|
||||
if b in keys(dict)
|
||||
push!(braces, b)
|
||||
continue
|
||||
end
|
||||
if length(braces) != 0 && b == dict[braces[end]]
|
||||
pop!(braces)
|
||||
else
|
||||
return scores[b]
|
||||
end
|
||||
end
|
||||
return 0
|
||||
end
|
||||
|
||||
function p1(input::Vector{String})
|
||||
dict = Dict('(' => ')', '[' => ']', '<' => '>', '{' => '}')
|
||||
scores = Dict(')' => 3, ']' => 57, '>' => 25137, '}' => 1197)
|
||||
return sum([ check_line(l, dict, scores) for l in input ])
|
||||
end
|
||||
|
||||
function complete(l, dict)
|
||||
braces = []
|
||||
for b in l
|
||||
if b in keys(dict)
|
||||
push!(braces, b)
|
||||
continue
|
||||
end
|
||||
if length(braces) != 0 && b == dict[braces[end]]
|
||||
pop!(braces)
|
||||
end
|
||||
end
|
||||
out = []
|
||||
for c in reverse(braces)
|
||||
push!(out, dict[c])
|
||||
end
|
||||
return out
|
||||
end
|
||||
|
||||
function p2(input::Vector{String})
|
||||
dict = Dict('(' => ')','[' => ']', '<' => '>', '{' => '}')
|
||||
scores = Dict(')' => 1,']' => 2,'}' => 3,'>' => 4)
|
||||
remaining = filter(x -> check_line(x, dict, scores) == 0, input)
|
||||
a = [complete(x, dict) for x in remaining]
|
||||
out = []
|
||||
for e in a
|
||||
score = 0
|
||||
for c in e
|
||||
score = score * 5 + scores[c]
|
||||
end
|
||||
push!(out, score)
|
||||
end
|
||||
return sort(out)[convert(Int,round(length(out)/2, RoundUp))]
|
||||
end
|
||||
|
||||
@aoc(2021, 10)
|
78
src/day_11.jl
Normal file
78
src/day_11.jl
Normal file
@@ -0,0 +1,78 @@
|
||||
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||
import .Aoc: @aoc
|
||||
using Pipe: @pipe
|
||||
using Combinatorics
|
||||
|
||||
|
||||
function step(map, copy, x, y)
|
||||
level = copy[x][y] = map[x][y] + 1
|
||||
if level == 10
|
||||
global flahes = flashes + 1
|
||||
for (x,y) in zip([-1,0,1,-1,1,-1,0,1], [1,1,1,0,0,-1,-1,-1])
|
||||
if x in 1:length(map) && y in 1:length(map[1])
|
||||
step(map, copy, x, y)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function solve(input, part)
|
||||
map = [ parse.(Int, collect(l)) for l in input ]
|
||||
elements = length(map) * length(map[1])
|
||||
sum = 0
|
||||
step = 0
|
||||
|
||||
while true
|
||||
step += 1
|
||||
flash = []
|
||||
flashed = []
|
||||
for x in 1:length(map)
|
||||
for y in 1:length(map[1])
|
||||
map[x][y] += 1
|
||||
if map[x][y] > 9
|
||||
push!(flash, [x,y])
|
||||
push!(flashed, [x,y])
|
||||
end
|
||||
end
|
||||
end
|
||||
while length(flash) != 0
|
||||
x, y = pop!(flash)
|
||||
for (i,j) in zip([-1,0,1,-1,1,-1,0,1], [1,1,1,0,0,-1,-1,-1])
|
||||
nx = x + i
|
||||
ny = y + j
|
||||
if nx in 1:length(map) && ny in 1:length(map[1])
|
||||
map[nx][ny] += 1
|
||||
if map[nx][ny] > 9 && [nx, ny] ∉ flashed
|
||||
push!(flash, [nx,ny])
|
||||
push!(flashed, [nx,ny])
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
for (x,y) in flashed
|
||||
map[x][y] = 0
|
||||
end
|
||||
|
||||
sum += length(flashed)
|
||||
|
||||
if part == 1 && step == 100
|
||||
break
|
||||
end
|
||||
|
||||
if part == 2 && length(unique(flashed)) == elements
|
||||
return step
|
||||
end
|
||||
end
|
||||
return sum
|
||||
end
|
||||
|
||||
function p1(input::Vector{String})
|
||||
solve(input, 1)
|
||||
end
|
||||
|
||||
function p2(input::Vector{String})
|
||||
solve(input, 2)
|
||||
end
|
||||
|
||||
@aoc(2021, 11)
|
43
src/day_12.jl
Normal file
43
src/day_12.jl
Normal file
@@ -0,0 +1,43 @@
|
||||
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||
import .Aoc: @aoc
|
||||
using Pipe: @pipe
|
||||
|
||||
function visit(map, curr_cave, visited)
|
||||
curr_cave == "end" ? (return 1) : nothing
|
||||
curr_cave[begin] in 'a':'z' && curr_cave ∈ visited ? (return 0) : nothing
|
||||
|
||||
v = copy(visited)
|
||||
push!(v, curr_cave)
|
||||
return sum([ visit(map, e, v) for e in map[curr_cave] ])
|
||||
end
|
||||
|
||||
function visit2(map, curr_cave, visited, d)
|
||||
curr_cave == "end" ? (return 1) : nothing
|
||||
curr_cave == "start" && length(visited) != 0 ? (return 0) : nothing
|
||||
if curr_cave[begin] in 'a':'z' && curr_cave ∈ visited
|
||||
d == nothing ? (d = curr_cave) : (return 0)
|
||||
end
|
||||
v = copy(visited)
|
||||
push!(v, curr_cave)
|
||||
return sum([ visit2(map, e, v, d) for e in map[curr_cave] ])
|
||||
end
|
||||
|
||||
function prepare_input(input)
|
||||
map = Dict()
|
||||
for l in input
|
||||
a, b = split(l, "-")
|
||||
!haskey(map, a) ? (map[a] = [b]) : (push!(map[a], b))
|
||||
!haskey(map, b) ? (map[b] = [a]) : (push!(map[b], a))
|
||||
end
|
||||
return map
|
||||
end
|
||||
|
||||
function p1(input::Vector{String})
|
||||
return visit(prepare_input(input), "start", [])
|
||||
end
|
||||
|
||||
function p2(input::Vector{String})
|
||||
return visit2(prepare_input(input), "start", [], nothing)
|
||||
end
|
||||
|
||||
@aoc(2021, 12)
|
66
src/day_13.jl
Normal file
66
src/day_13.jl
Normal file
@@ -0,0 +1,66 @@
|
||||
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||
import .Aoc: @aoc
|
||||
using Pipe: @pipe
|
||||
|
||||
function fold(grid, dir, at)
|
||||
if dir == "x"
|
||||
new = grid[:, 1:at]
|
||||
rest = reverse(grid[:, at+2:end], dims=2)
|
||||
else
|
||||
new = grid[1:at, :]
|
||||
rest = reverse(grid[at+2:end, :], dims=1)
|
||||
end
|
||||
lnewx, lnewy = (length(new[1, :]), length(new[:, 1]))
|
||||
lrestx, lresty = (length(rest[1, :]), length(rest[:, 1]))
|
||||
for y in 1:lresty, x in 1:lrestx
|
||||
new[lnewy-lresty+y, lnewx-lrestx+x] = new[lnewy-lresty+y, lnewx-lrestx+x] || rest[y,x]
|
||||
end
|
||||
return new
|
||||
end
|
||||
|
||||
function prep_input(input)
|
||||
folds = []
|
||||
holes = []
|
||||
for l in input
|
||||
if l == ""; continue; end
|
||||
m = match(r"(\d+),(\d+)",l)
|
||||
if m == nothing
|
||||
c = match(r"(\w)=(\d+)", l).captures
|
||||
push!(folds, [c[1], parse(Int, c[2])])
|
||||
else
|
||||
c = match(r"(\d+),(\d+)", l).captures
|
||||
push!(holes, [parse(Int, c[1]), parse(Int, c[2])])
|
||||
end
|
||||
end
|
||||
max_x = maximum(map(x-> x[1], holes))
|
||||
max_y = maximum(map(x-> x[2], holes))
|
||||
grid = falses((max_y+1, max_x+1))
|
||||
for (x,y) in holes
|
||||
grid[y+1,x+1] = true
|
||||
end
|
||||
return (grid, folds)
|
||||
end
|
||||
|
||||
function print_grid(grid)
|
||||
for y in 1:length(grid[:,1])
|
||||
for x in 1:length(grid[1,:])
|
||||
print(".#"[grid[y,x]+1])
|
||||
end
|
||||
println("")
|
||||
end
|
||||
end
|
||||
|
||||
function p1(input::Vector{String})
|
||||
grid, folds = prep_input(input)
|
||||
return sum(fold(grid, folds[1][1], folds[1][2]))
|
||||
end
|
||||
|
||||
function p2(input::Vector{String})
|
||||
grid, folds = prep_input(input)
|
||||
for (dir, at) in folds
|
||||
grid = fold(grid, dir, at)
|
||||
end
|
||||
print_grid(grid)
|
||||
end
|
||||
|
||||
@aoc(2021, 13)
|
58
src/day_14.jl
Normal file
58
src/day_14.jl
Normal file
@@ -0,0 +1,58 @@
|
||||
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||
import .Aoc: @aoc
|
||||
using Pipe: @pipe
|
||||
|
||||
function sliding(in, w::Int64; step::Int = 1)
|
||||
((@view in[i:i+w-1]) for i in 1:step:length(in)-w+1)
|
||||
end
|
||||
|
||||
function prep_input(input)
|
||||
pairs = Dict()
|
||||
for pair in sliding(input[1], 2)
|
||||
!haskey(pairs, pair) ? (pairs[pair] = 0) : nothing
|
||||
pairs[pair] += 1
|
||||
end
|
||||
|
||||
dict = Dict()
|
||||
for l in input[3:end]
|
||||
p, t = split(l, " -> ")
|
||||
dict[p] = (p[1] * t, t * p[2])
|
||||
end
|
||||
return (pairs, dict)
|
||||
end
|
||||
|
||||
function step(pairs, dict)
|
||||
new = Dict()
|
||||
for pair in keys(pairs)
|
||||
p1, p2 = dict[pair]
|
||||
new[p1] = get(new, p1, 0) + pairs[pair]
|
||||
new[p2] = get(new, p2, 0) + pairs[pair]
|
||||
end
|
||||
return new
|
||||
end
|
||||
|
||||
function solve(pairs, dict, rounds, last)
|
||||
for _ in 1:rounds
|
||||
pairs = step(pairs, dict)
|
||||
end
|
||||
|
||||
c = Dict()
|
||||
for p in keys(pairs)
|
||||
!haskey(c, p[1]) ? (c[p[1]] = 0) : nothing
|
||||
c[p[1]] += pairs[p]
|
||||
end
|
||||
c[last] += 1 # add one more count for last character in polymer
|
||||
return maximum(values(c)) - minimum(values(c))
|
||||
end
|
||||
|
||||
function p1(input::Vector{String})
|
||||
pairs, dict = prep_input(input)
|
||||
return solve(pairs, dict, 10, input[begin][end])
|
||||
end
|
||||
|
||||
function p2(input::Vector{String})
|
||||
pairs, dict = prep_input(input)
|
||||
return solve(pairs, dict, 40, input[begin][end])
|
||||
end
|
||||
|
||||
@aoc(2021, 14)
|
47
src/day_15.jl
Normal file
47
src/day_15.jl
Normal file
@@ -0,0 +1,47 @@
|
||||
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||
import .Aoc: @aoc
|
||||
using Pipe: @pipe
|
||||
using Graphs, SimpleWeightedGraphs
|
||||
|
||||
function prep_input(input)
|
||||
[ parse.(Int, collect(l)) for l in input ]
|
||||
end
|
||||
|
||||
function lowest_cost(grid)
|
||||
q = [(1,1,0)]
|
||||
costs = Dict()
|
||||
while true
|
||||
x,y,c = popfirst!(q)
|
||||
x == length(grid) && y == length(grid[1]) ? (return c) : nothing
|
||||
for (x2, y2) in [(x+1,y),(x-1,y),(x,y-1),(x,y+1)]
|
||||
if x2 in 1:length(grid) && y2 in 1:length(grid[1])
|
||||
cost = c + grid[x2][y2]
|
||||
(x2, y2) in keys(costs) && costs[(x2, y2)] <= cost ? (continue) : nothing
|
||||
costs[(x2, y2)] = cost
|
||||
push!(q, (x2, y2, cost))
|
||||
end
|
||||
end
|
||||
sort!(q)
|
||||
end
|
||||
end
|
||||
|
||||
function p1(input::Vector{String})
|
||||
grid = prep_input(input)
|
||||
return lowest_cost(grid)
|
||||
end
|
||||
|
||||
function p2(input::Vector{String})
|
||||
grid = prep_input(input)
|
||||
newgrid = [ zeros(Int, 5*length(grid[1])) for _ in 1:5*length(grid) ]
|
||||
|
||||
for x in 1:length(newgrid), y in 1:length(newgrid[1])
|
||||
v = grid[x%length(grid)+1][y%length(grid[1])+1]
|
||||
for _ in 1:((x-1) ÷ length(grid) + (y-1) ÷ length(grid[1])) # ÷ performs integer division
|
||||
v + 1 == 10 ? (v = 1) : (v += 1)
|
||||
end
|
||||
newgrid[x][y] = v
|
||||
end
|
||||
return lowest_cost(newgrid)
|
||||
end
|
||||
|
||||
@aoc(2021, 15)
|
73
src/day_16.jl
Normal file
73
src/day_16.jl
Normal file
@@ -0,0 +1,73 @@
|
||||
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||
import .Aoc: @aoc
|
||||
using Pipe: @pipe
|
||||
|
||||
|
||||
function decode_packet(p, o, version)
|
||||
version += parse(Int, p[o:o+2], base=2); o+=3
|
||||
type = parse(Int, p[o:o+2], base = 2); o+=3
|
||||
|
||||
if type == 4
|
||||
v = ""
|
||||
while true
|
||||
tmp = p[o:o+4]; o+=5
|
||||
v *= tmp[2:end]
|
||||
tmp[1] == '0' ? break : continue
|
||||
end
|
||||
value = parse(Int, v, base=2)
|
||||
else
|
||||
length_type = p[o]; o+=1
|
||||
sub_values = []
|
||||
if length_type == '0'
|
||||
length = parse(Int, p[o:o+14], base=2); o+=15
|
||||
target = o + length
|
||||
while o < target
|
||||
v, o, version = decode_packet(p, o, version)
|
||||
push!(sub_values, v)
|
||||
end
|
||||
else
|
||||
num = parse(Int, p[o:o+10], base=2); o+=11
|
||||
for _ in 1:num
|
||||
v, o, version = decode_packet(p, o, version)
|
||||
push!(sub_values, v)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if type == 0
|
||||
value = sum(sub_values)
|
||||
elseif type == 1
|
||||
value = prod(sub_values)
|
||||
elseif type == 2
|
||||
value = minimum(sub_values)
|
||||
elseif type == 3
|
||||
value = maximum(sub_values)
|
||||
elseif type == 5
|
||||
value = sub_values[begin] > sub_values[end] ? 1 : 0
|
||||
elseif type == 6
|
||||
value = sub_values[begin] < sub_values[end] ? 1 : 0
|
||||
elseif type == 7
|
||||
value = sub_values[begin] == sub_values[end] ? 1 : 0
|
||||
end
|
||||
return (value, o, version)
|
||||
end
|
||||
|
||||
function p1(input::Vector{String})
|
||||
packet = ""
|
||||
for c in input[1]
|
||||
packet *= bitstring(Int8(parse(Int, c, base = 16)))[5:end]
|
||||
end
|
||||
v, _, version = decode_packet(packet, 1, 0)
|
||||
return version
|
||||
end
|
||||
|
||||
function p2(input::Vector{String})
|
||||
packet = ""
|
||||
for c in input[1]
|
||||
packet *= bitstring(Int8(parse(Int, c, base = 16)))[5:end]
|
||||
end
|
||||
v, _ = decode_packet(packet, 1, 0)
|
||||
return v
|
||||
end
|
||||
|
||||
@aoc(2021, 16)
|
38
src/day_17.jl
Normal file
38
src/day_17.jl
Normal file
@@ -0,0 +1,38 @@
|
||||
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||
import .Aoc: @aoc
|
||||
using Pipe: @pipe
|
||||
|
||||
function solve(input)
|
||||
x1, x2, y1, y2 = parse.(Int, match(r"target area: x=(-?\d+)..(-?\d+), y=(-?\d+)..(-?\d+)", input).captures)
|
||||
total = 0
|
||||
best = 0
|
||||
for vx in isqrt(2x1)+1:x2, vy in y1:abs(y1)
|
||||
x,y,maxy = 0,0,0
|
||||
Δx, Δy = vx, vy
|
||||
found = passed = false
|
||||
while true
|
||||
inside = false
|
||||
x += Δx; y += Δy
|
||||
Δx -= sign(Δx); Δy -= 1
|
||||
y > maxy && (maxy = y)
|
||||
if x in x1:x2 && y in y1:y2
|
||||
inside = true
|
||||
!found && (total += 1); found = true
|
||||
maxy > best && (best = maxy)
|
||||
end
|
||||
(found && !inside) && break
|
||||
y < y1 && break
|
||||
end
|
||||
end
|
||||
return (best, total)
|
||||
end
|
||||
|
||||
function p1(input::Vector{String})
|
||||
return solve(input[1])[1]
|
||||
end
|
||||
|
||||
function p2(input::Vector{String})
|
||||
return solve(input[1])[2]
|
||||
end
|
||||
|
||||
@aoc(2021, 17)
|
69
src/day_18.jl
Normal file
69
src/day_18.jl
Normal file
@@ -0,0 +1,69 @@
|
||||
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||
import .Aoc: @aoc
|
||||
using Pipe: @pipe
|
||||
using Combinatorics
|
||||
|
||||
function addn(v, n, dir)
|
||||
n == nothing && (return v)
|
||||
typeof(v) == Int && (return v+n)
|
||||
if dir == "left"
|
||||
return [addn(v[1], n, "left"), v[2]]
|
||||
else
|
||||
return [v[1], addn(v[2], n, "right")]
|
||||
end
|
||||
end
|
||||
|
||||
function arrexplode(v, n = 4)
|
||||
typeof(v) == Int && (return (false, nothing, v, nothing))
|
||||
n == 0 && (return true, v[1], 0, v[2])
|
||||
|
||||
l, r = v
|
||||
exploded, t, l, w = arrexplode(l, n-1)
|
||||
exploded && (return true, t, [l, addn(r, w, "left")], nothing)
|
||||
exploded, t, r, w = arrexplode(r, n-1)
|
||||
exploded && (return true, nothing, [addn(l, t, "right"), r], w)
|
||||
|
||||
false, nothing, v, nothing
|
||||
end
|
||||
|
||||
function arrsplit(v)
|
||||
if typeof(v) == Int
|
||||
v > 9 && (return true, [v ÷ 2, Int(round(v/2, RoundUp))])
|
||||
return false, v
|
||||
end
|
||||
l, r = v
|
||||
changed, l = arrsplit(l)
|
||||
changed && (return true, [l,r])
|
||||
changed, r = arrsplit(r)
|
||||
|
||||
changed, [l,r]
|
||||
end
|
||||
|
||||
function arradd(l, r)
|
||||
sum = [l,r]
|
||||
while true
|
||||
changed, t, sum, w = arrexplode(sum)
|
||||
changed && continue
|
||||
changed, sum = arrsplit(sum)
|
||||
changed && continue
|
||||
break
|
||||
end
|
||||
sum
|
||||
end
|
||||
|
||||
function magn(v)
|
||||
typeof(v) == Int && (return v)
|
||||
3*magn(v[1]) + 2*magn(v[2])
|
||||
end
|
||||
|
||||
function p1(input::Vector{String})
|
||||
numbers = [ eval(Meta.parse(x)) for x in input ]
|
||||
magn(reduce(arradd, numbers))
|
||||
end
|
||||
|
||||
function p2(input::Vector{String})
|
||||
numbers = [ eval(Meta.parse(x)) for x in input ]
|
||||
maximum([magn(arradd(l,r)) for (l, r) in Combinatorics.permutations(numbers, 2)])
|
||||
end
|
||||
|
||||
@aoc(2021, 18)
|
86
src/day_19.jl
Normal file
86
src/day_19.jl
Normal file
@@ -0,0 +1,86 @@
|
||||
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||
import .Aoc: @aoc
|
||||
using Pipe: @pipe
|
||||
using Combinatorics
|
||||
|
||||
function prepare_input(input)
|
||||
dict = []
|
||||
tmp = []
|
||||
for l in input
|
||||
l == "" && continue
|
||||
m = match(r"--- scanner (\d+) ---", l)
|
||||
if m != nothing
|
||||
length(tmp) != 0 && push!(dict, tmp)
|
||||
tmp = []
|
||||
continue
|
||||
end
|
||||
push!(tmp, parse.(Int, split(l, ",")))
|
||||
end
|
||||
dict
|
||||
end
|
||||
|
||||
function align(a,b, negs, distances)
|
||||
a2 = Set(a)
|
||||
for re in 1:6, neg in negs
|
||||
newb = [ neg .* collect(Combinatorics.permutations(s,3))[re] for s in b ]
|
||||
for p1 in a2, p2 in newb
|
||||
count = 0
|
||||
remapped = []
|
||||
dist = p2 .- p1
|
||||
for b2 in newb
|
||||
to_a = b2 .- dist
|
||||
to_a in a2 && (count += 1)
|
||||
push!(remapped, to_a)
|
||||
end
|
||||
if count >= 12
|
||||
println("match $dist")
|
||||
push!(distances, dist)
|
||||
return true, remapped
|
||||
end
|
||||
end
|
||||
end
|
||||
return false, []
|
||||
end
|
||||
|
||||
function p1(input::Vector{String})
|
||||
@info "Something is brken. This may take 5 minutes or more to get a slightly wrong result."
|
||||
negations = [
|
||||
[1,1,1],
|
||||
[-1,1,1],
|
||||
[1,-1,1],
|
||||
[1,1,-1],
|
||||
[-1,-1,1],
|
||||
[-1,1,-1],
|
||||
[-1,-1,-1],
|
||||
[1,-1,-1]
|
||||
]
|
||||
list = prepare_input(input)
|
||||
aligned_idx = Set(1)
|
||||
aligned = Dict(1 => list[1])
|
||||
beacons = copy(list[1])
|
||||
dont_align = Set()
|
||||
distances = [[0,0,0]]
|
||||
while length(aligned_idx) < length(list)
|
||||
for i in 1:length(list)
|
||||
i in aligned_idx && continue
|
||||
for j in sort(collect(aligned_idx))
|
||||
println("checking $i against $j")
|
||||
(i,j) in dont_align && continue
|
||||
found, remapped = align(aligned[j], list[i], negations, distances)
|
||||
if found
|
||||
push!(aligned_idx, i)
|
||||
aligned[i] = remapped
|
||||
beacons = vcat(beacons, remapped)
|
||||
break
|
||||
end
|
||||
push!(dont_align, (i,j))
|
||||
end
|
||||
end
|
||||
end
|
||||
return length(beacons)
|
||||
end
|
||||
|
||||
function p2(input::Vector{String})
|
||||
end
|
||||
|
||||
@aoc(2021, 19)
|
41
src/day_2.jl
Normal file
41
src/day_2.jl
Normal file
@@ -0,0 +1,41 @@
|
||||
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||
import .Aoc: @aoc
|
||||
|
||||
function sliding(in, w::Int64; step::Int = 1)
|
||||
((@view in[i:i+w-1]) for i in 1:step:length(in)-w+1)
|
||||
end
|
||||
|
||||
|
||||
function p1(input::Vector{String})
|
||||
d = [0, 0]
|
||||
for i ∈ input
|
||||
c = match(r"(\w+)\s(\d+)", i).captures
|
||||
if c[1] == "forward"
|
||||
d[1] += parse(Int, c[2])
|
||||
elseif c[1] == "down"
|
||||
d[2] += parse(Int, c[2])
|
||||
elseif c[1] == "up"
|
||||
d[2] -= parse(Int, c[2])
|
||||
end
|
||||
end
|
||||
prod(d)
|
||||
end
|
||||
|
||||
|
||||
function p2(input::Vector{String})
|
||||
d = [0, 0, 0]
|
||||
for i ∈ input
|
||||
c = match(r"(\w+)\s(\d+)", i).captures
|
||||
if c[1] == "forward"
|
||||
d[1] += parse(Int, c[2])
|
||||
d[2] += parse(Int, c[2]) * d[3]
|
||||
elseif c[1] == "down"
|
||||
d[3] += parse(Int, c[2])
|
||||
elseif c[1] == "up"
|
||||
d[3] -= parse(Int, c[2])
|
||||
end
|
||||
end
|
||||
prod(d[1:2])
|
||||
end
|
||||
|
||||
@aoc(2021, 2)
|
60
src/day_20.jl
Normal file
60
src/day_20.jl
Normal file
@@ -0,0 +1,60 @@
|
||||
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||
import .Aoc: @aoc
|
||||
using Pipe: @pipe
|
||||
|
||||
function prepare_input(input)
|
||||
code = [ (c == '#') for c in input[1] ]
|
||||
image = []
|
||||
|
||||
for l in input[3:end]
|
||||
push!(image, [ (c == '#') for c in l ])
|
||||
end
|
||||
code, image
|
||||
end
|
||||
|
||||
function neighbours(i,j)
|
||||
( (i+y,j+x) for (y, x) in zip([-1,-1,-1,0,0,0,1,1,1], [-1,0,1,-1,0,1,-1,0,1]))
|
||||
end
|
||||
|
||||
function get_value(image, y, x, bool)
|
||||
( 1 <= y <= length(image) && 1 <= x <= length(image[1])) && return image[y][x]
|
||||
bool
|
||||
end
|
||||
|
||||
function apply_alg(image, code, bool)
|
||||
w = length(image[1])
|
||||
h = length(image)
|
||||
newimage = []
|
||||
for y in 0:h+1
|
||||
row = []
|
||||
for x in 0:w+1
|
||||
values = [ get_value(image, y2, x2, bool) for (y2,x2) in neighbours(y, x)]
|
||||
idx = parse(Int, join(map(b->b ? 1 : 0, values)), base=2)
|
||||
push!(row, code[idx+1])
|
||||
end
|
||||
push!(newimage, row)
|
||||
end
|
||||
newimage
|
||||
end
|
||||
|
||||
function p1(input::Vector{String})
|
||||
code, image = prepare_input(input)
|
||||
bool = false
|
||||
for _ in 1:2
|
||||
image = apply_alg(image, code, bool)
|
||||
bool = !bool
|
||||
end
|
||||
return sum(vcat(image...))
|
||||
end
|
||||
|
||||
function p2(input::Vector{String})
|
||||
code, image = prepare_input(input)
|
||||
bool = false
|
||||
for _ in 1:50
|
||||
image = apply_alg(image, code, bool)
|
||||
bool = !bool
|
||||
end
|
||||
return sum(vcat(image...))
|
||||
end
|
||||
|
||||
@aoc(2021, 20)
|
54
src/day_21.jl
Normal file
54
src/day_21.jl
Normal file
@@ -0,0 +1,54 @@
|
||||
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||
import .Aoc: @aoc
|
||||
using Pipe: @pipe
|
||||
|
||||
function prepare_input(input)
|
||||
p1 = parse(Int, match(r"position: (\d)", input[1]).captures[1])
|
||||
p2 = parse(Int, match(r"position: (\d)", input[2]).captures[1])
|
||||
[p1, p2]
|
||||
end
|
||||
|
||||
function p1(input::Vector{String})
|
||||
p = prepare_input(input)
|
||||
score = [0,0]
|
||||
d = 1
|
||||
while true
|
||||
for i in 1:2
|
||||
np = (p[i] + sum(d:d+2)) % 10
|
||||
d += 3
|
||||
score[i] += p[i] = np
|
||||
score[i] >= 1000 && return (score[i==1 ? 2 : 1]*(d-1))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function simulate(position, score, mul, scores)
|
||||
s = popfirst!(scores)
|
||||
for (throw, chances) in [(3, 1),(4, 3),(5, 6),(6, 7),(7, 6),(8, 3),(9, 1)]
|
||||
position2 = (position + throw) % 10
|
||||
score2 = score + (position2 == 0 ? 10 : position2)
|
||||
paths = mul * chances
|
||||
if score2 >= 21
|
||||
s[1] += paths
|
||||
else
|
||||
s[2] += paths
|
||||
simulate(position2, score2, paths, scores)
|
||||
end
|
||||
end
|
||||
pushfirst!(scores, s)
|
||||
end
|
||||
|
||||
function p2(input::Vector{String})
|
||||
p = prepare_input(input)
|
||||
|
||||
s1 = [ [0,0] for _ in 1:11 ]
|
||||
simulate(p[1], 0, 1, s1)
|
||||
s2 = [ [0,0] for _ in 1:11 ]
|
||||
simulate(p[2], 0, 1, s2)
|
||||
|
||||
w1 = sum(map(x -> x[1][1] * x[2][2], zip(s1[2:end], s2)))
|
||||
w2 = sum(map(x -> x[1][1] * x[2][2], zip(s2, s1)))
|
||||
return w1 > w2 ? w1 : w2
|
||||
end
|
||||
|
||||
@aoc(2021, 21)
|
58
src/day_22.jl
Normal file
58
src/day_22.jl
Normal file
@@ -0,0 +1,58 @@
|
||||
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||
import .Aoc: @aoc
|
||||
using Pipe: @pipe
|
||||
|
||||
function prepare_input(input)
|
||||
out = []
|
||||
for l in input
|
||||
on = l[1:3] == "on "
|
||||
n = split(l, ",")
|
||||
cords = [ parse.(Int, match(r"(-?\d+)\.\.(-?\d+)", r).captures) for r in n ]
|
||||
push!(out, (on, cords))
|
||||
end
|
||||
out
|
||||
end
|
||||
|
||||
function p1(input::Vector{String})
|
||||
list = prepare_input(input)
|
||||
dict = Dict()
|
||||
for (on, range) in list
|
||||
xmin = range[1][1] < -50 ? -50 : range[1][1]
|
||||
ymin = range[2][1] < -50 ? -50 : range[2][1]
|
||||
zmin = range[3][1] < -50 ? -50 : range[3][1]
|
||||
xmax = range[1][2] > 50 ? 50 : range[1][2]
|
||||
ymax = range[2][2] > 50 ? 50 : range[2][2]
|
||||
zmax = range[3][2] > 50 ? 50 : range[3][2]
|
||||
for x in xmin:xmax, y in ymin:ymax, z in zmin:zmax
|
||||
dict[(x,y,z)] = on
|
||||
end
|
||||
end
|
||||
return sum(collect(values(dict)))
|
||||
end
|
||||
|
||||
function p2(input::Vector{String})
|
||||
list = prepare_input(input)
|
||||
cubes = []
|
||||
for (on, ((xmin, xmax),(ymin, ymax),(zmin, zmax))) in list
|
||||
for i in 1:length(cubes)
|
||||
(xmin2,xmax2,ymin2,ymax2,zmin2,zmax2) = cubes[i]
|
||||
if xmin > xmax2 || xmax < xmin2 || ymin > ymax2 || ymax < ymin2 ||zmin > zmax2 || zmax < zmin2
|
||||
# new cube does not intersect with the current one
|
||||
continue
|
||||
end
|
||||
# the new cube intersects the current cube, mark current cube for removal and divide it into smaller cubes that dont intersect the new cube
|
||||
cubes[i] = nothing # unset the element to keep positions constant fo ths step
|
||||
(xmin > xmin2) && push!(cubes, (xmin2 , xmin-1 , ymin2 , ymax2 , zmin2 , zmax2 ))
|
||||
(xmax < xmax2) && push!(cubes, (xmax + 1 , xmax2 , ymin2 , ymax2 , zmin2 , zmax2 ))
|
||||
(ymin > ymin2) && push!(cubes, (max(xmin,xmin2), min(xmax, xmax2), ymin2 , ymin - 1 , zmin2 , zmax2 ))
|
||||
(ymax < ymax2) && push!(cubes, (max(xmin,xmin2), min(xmax, xmax2), ymax + 1 , ymax2 , zmin2 , zmax2 ))
|
||||
(zmin > zmin2) && push!(cubes, (max(xmin,xmin2), min(xmax, xmax2), max(ymin,ymin2), min(ymax,ymax2), zmin2 , zmin - 1))
|
||||
(zmax < zmax2) && push!(cubes, (max(xmin,xmin2), min(xmax, xmax2), max(ymin,ymin2), min(ymax,ymax2), zmax + 1, zmax2 ))
|
||||
end
|
||||
on && push!(cubes, (xmin, xmax, ymin, ymax, zmin, zmax)) # Add cube if on
|
||||
filter!(!=(nothing), cubes) # delete the unset elements
|
||||
end
|
||||
sum([ (xmax-xmin+1) * (ymax-ymin+1) * (zmax-zmin+1) for (xmin,xmax,ymin,ymax,zmin,zmax) in cubes ])
|
||||
end
|
||||
|
||||
@aoc(2021, 22)
|
17
src/day_23.jl
Normal file
17
src/day_23.jl
Normal file
@@ -0,0 +1,17 @@
|
||||
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||
import .Aoc: @aoc
|
||||
using Pipe: @pipe
|
||||
|
||||
function prepare_input(input)
|
||||
zip(match(r"(\w)", input[3]).captures, match(r"(\w)", input[4]).captures)
|
||||
end
|
||||
|
||||
function p1(input::Vector{String})
|
||||
rooms = prepare_input(input)
|
||||
@info rooms
|
||||
end
|
||||
|
||||
function p2(input::Vector{String})
|
||||
end
|
||||
|
||||
@aoc(2021, 23)
|
51
src/day_24.jl
Normal file
51
src/day_24.jl
Normal file
@@ -0,0 +1,51 @@
|
||||
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||
import .Aoc: @aoc
|
||||
using Pipe: @pipe
|
||||
using Memoization
|
||||
|
||||
function calc(i, w, z, add_x, add_y, div_z)
|
||||
x = add_x[i] + (z % 26)
|
||||
z = z ÷ div_z[i]
|
||||
x != w && (z = z * 26 + w + add_y[i])
|
||||
z
|
||||
end
|
||||
|
||||
@memoize function find_solution(i, z, add_x, add_y, div_z)
|
||||
(i == 15 && z == 0) && return [""]
|
||||
i == 15 && return []
|
||||
|
||||
x = add_x[i] + (z % 26)
|
||||
possible_numbers = collect(1:9)
|
||||
x in 1:9 && (possible_numbers = [x])
|
||||
out = []
|
||||
for num in possible_numbers
|
||||
nextz = calc(i, num, z, add_x, add_y, div_z)
|
||||
nextxs = find_solution(i + 1, nextz, add_x, add_y, div_z)
|
||||
for x2 in nextxs
|
||||
push!(out, string(num) * x2)
|
||||
end
|
||||
end
|
||||
out
|
||||
end
|
||||
|
||||
function p1(input::Vector{String})
|
||||
add_x = []
|
||||
add_y = []
|
||||
div_z = []
|
||||
for (i, l) in enumerate(input)
|
||||
(contains(l, "add x") && !contains(l, "add x z")) && push!(add_x, parse(Int, split(l, " ")[3]))
|
||||
(contains(l, "add y") && ((i-1) % 18 == 15)) && push!(add_y, parse(Int, split(l, " ")[3]))
|
||||
contains(l, "div z") && push!(div_z, parse(Int, split(l, " ")[3]))
|
||||
end
|
||||
@info add_x
|
||||
@info add_y
|
||||
@info div_z
|
||||
solutions = [ parse(Int, s) for s in find_solution(1, 0, add_x, add_y, div_z) ]
|
||||
minimum(solutions), maximum(solutions), length(solutions)
|
||||
end
|
||||
|
||||
function p2(input::Vector{String})
|
||||
"P2 solution is part of P1"
|
||||
end
|
||||
|
||||
@aoc(2021, 24)
|
37
src/day_25.jl
Normal file
37
src/day_25.jl
Normal file
@@ -0,0 +1,37 @@
|
||||
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||
import .Aoc: @aoc
|
||||
using Pipe: @pipe
|
||||
using Memoization
|
||||
|
||||
function p1(input::Vector{String})
|
||||
grid = [ collect(l) for l in input]
|
||||
steps = 0
|
||||
while true
|
||||
steps += 1
|
||||
moved = false
|
||||
tmp = deepcopy(grid)
|
||||
for y in 1:length(grid), x in 1:length(grid[1])
|
||||
if grid[y][x] == '>' && grid[y][x%length(grid[1])+1] == '.'
|
||||
moved = true
|
||||
tmp[y][x%length(grid[1])+1] = '>'
|
||||
tmp[y][x] = '.'
|
||||
end
|
||||
end
|
||||
tmp2 = deepcopy(tmp)
|
||||
for y in 1:length(tmp), x in 1:length(grid[1])
|
||||
if tmp[y][x] == 'v' && tmp[y%length(grid)+1][x] == '.'
|
||||
moved = true
|
||||
tmp2[y%length(grid)+1][x] = 'v'
|
||||
tmp2[y][x] = '.'
|
||||
end
|
||||
end
|
||||
!moved && (return steps)
|
||||
grid = tmp2
|
||||
end
|
||||
end
|
||||
|
||||
function p2(input::Vector{String})
|
||||
"Day 25 has no Part 2"
|
||||
end
|
||||
|
||||
@aoc(2021, 25)
|
40
src/day_3.jl
Normal file
40
src/day_3.jl
Normal file
@@ -0,0 +1,40 @@
|
||||
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||
import .Aoc: @aoc
|
||||
|
||||
|
||||
function p1(input::Vector{String})
|
||||
γ = ""
|
||||
ϵ = ""
|
||||
for n in 1:length(input[1])
|
||||
bits = map(x -> parse(Int, x[n]), input)
|
||||
more_ones = sum(bits) > length(bits) / 2
|
||||
γ *= more_ones ? "1" : "0"
|
||||
ϵ *= more_ones ? "0" : "1"
|
||||
end
|
||||
parse(Int, γ; base=2) * parse(Int, ϵ; base=2)
|
||||
end
|
||||
|
||||
|
||||
function p2(input::Vector{String})
|
||||
i1 = copy(input)
|
||||
i2 = copy(input)
|
||||
o₂ = ""
|
||||
co₂ = ""
|
||||
for i in 1:length(input[1])
|
||||
o₂bits = map(x -> parse(Int, x[i]), i1)
|
||||
co₂bits = map(x -> parse(Int, x[i]), i2)
|
||||
|
||||
o₂mc = sum(o₂bits) >= length(o₂bits) / 2 ? '1' : '0'
|
||||
co₂mc = sum(co₂bits) >= length(co₂bits) / 2 ? '0' : '1'
|
||||
|
||||
filter!(x -> x[i] == o₂mc, i1)
|
||||
filter!(x -> x[i] == co₂mc, i2)
|
||||
|
||||
length(i1) == 1 && o₂ == "" ? (o₂ = i1[1]) : nothing
|
||||
length(i2) == 1 && co₂ == "" ? (co₂ = i2[1]) : nothing
|
||||
o₂ != "" && co₂ != "" ? break : continue
|
||||
end
|
||||
parse(Int, o₂; base=2) * parse(Int, co₂; base=2)
|
||||
end
|
||||
|
||||
@aoc(2021, 3)
|
76
src/day_4.jl
Normal file
76
src/day_4.jl
Normal file
@@ -0,0 +1,76 @@
|
||||
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||
import .Aoc: @aoc
|
||||
using Pipe: @pipe
|
||||
|
||||
function read_boards(input)
|
||||
in = filter(!=(""), input)
|
||||
boards = []
|
||||
for i in 1:5:length(in)
|
||||
board = []
|
||||
for x in 0:4
|
||||
row = @pipe split(in[i+x], " ") |> filter(!=(""), _) |> parse.(Int, _)
|
||||
push!(board, row)
|
||||
end
|
||||
push!(boards, vcat(board...))
|
||||
end
|
||||
|
||||
return boards
|
||||
end
|
||||
|
||||
function mark_board(board, n)
|
||||
idx = findall(==(n), board)
|
||||
for i in idx
|
||||
board[i] = -1
|
||||
end
|
||||
end
|
||||
|
||||
function is_winner(board)
|
||||
for i in 1:5:length(board)
|
||||
if unique(board[i:i+4]) == [-1]
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
||||
for x in 1:5
|
||||
if unique(board[x:5:length(board)]) == [-1]
|
||||
return true
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function score(board, n)
|
||||
sum(filter(!=(-1), board)) * n
|
||||
end
|
||||
|
||||
function scores(numbers, boards)
|
||||
scores = []
|
||||
winners = []
|
||||
for n in numbers
|
||||
for (i, board) in enumerate(boards)
|
||||
i in winners ? continue : mark_board(board, n)
|
||||
if is_winner(board)
|
||||
push!(winners, i)
|
||||
push!(scores, score(board, n))
|
||||
end
|
||||
end
|
||||
end
|
||||
return scores
|
||||
end
|
||||
|
||||
function p1(input::Vector{String})
|
||||
numbers = @pipe split(input[1], ",") |> parse.(Int, _)
|
||||
|
||||
boards = read_boards(input[3:end])
|
||||
return scores(numbers, boards)[1]
|
||||
end
|
||||
|
||||
|
||||
function p2(input::Vector{String})
|
||||
numbers = @pipe split(input[1], ",") |> parse.(Int, _)
|
||||
|
||||
boards = read_boards(input[3:end])
|
||||
return scores(numbers, boards)[end]
|
||||
end
|
||||
|
||||
@aoc(2021, 4)
|
51
src/day_5.jl
Normal file
51
src/day_5.jl
Normal file
@@ -0,0 +1,51 @@
|
||||
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||
import .Aoc: @aoc
|
||||
using Pipe: @pipe
|
||||
|
||||
function parse_line(input)
|
||||
c = match(r"(\d+),(\d+) -> (\d+),(\d+)", input).captures
|
||||
return parse.(Int, c)
|
||||
end
|
||||
|
||||
function p1(input::Vector{String})
|
||||
board = Dict{Tuple{Int64, Int64}, Int64}()
|
||||
for l in input
|
||||
p = parse_line(l)
|
||||
if p[1] == p[3] || p[2] == p[4]
|
||||
xstep = p[1] > p[3] ? -1 : 1
|
||||
ystep = p[2] > p[4] ? -1 : 1
|
||||
for x in p[1]:xstep:p[3]
|
||||
for y in p[2]:ystep:p[4]
|
||||
(x,y) in keys(board) ? (board[(x,y)] += 1) : (board[(x,y)] = 1)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
return count(>=(2), values(board))
|
||||
end
|
||||
|
||||
|
||||
function p2(input::Vector{String})
|
||||
board = Dict{Tuple{Int64, Int64}, Int64}()
|
||||
for l in input
|
||||
p = parse_line(l)
|
||||
if p[1] == p[3] || p[2] == p[4]
|
||||
xstep = p[1] > p[3] ? -1 : 1
|
||||
ystep = p[2] > p[4] ? -1 : 1
|
||||
for x in p[1]:xstep:p[3]
|
||||
for y in p[2]:ystep:p[4]
|
||||
(x,y) in keys(board) ? (board[(x,y)] += 1) : (board[(x,y)] = 1)
|
||||
end
|
||||
end
|
||||
elseif abs(p[1] - p[3]) == abs(p[2] - p[4])
|
||||
xstep = p[1] > p[3] ? -1 : 1
|
||||
ystep = p[2] > p[4] ? -1 : 1
|
||||
for(x,y) in zip(p[1]:xstep:p[3], p[2]:ystep:p[4])
|
||||
(x,y) in keys(board) ? (board[(x,y)] += 1) : (board[(x,y)] = 1)
|
||||
end
|
||||
end
|
||||
end
|
||||
return count(>=(2), values(board))
|
||||
end
|
||||
|
||||
@aoc(2021, 5)
|
29
src/day_6.jl
Normal file
29
src/day_6.jl
Normal file
@@ -0,0 +1,29 @@
|
||||
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||
import .Aoc: @aoc
|
||||
using Pipe: @pipe
|
||||
|
||||
|
||||
function solve(input::Vector{String}, days::Int64)
|
||||
fish = @pipe split(input[1], ",") |> parse.(Int, _)
|
||||
state = Dict{Int, Int}([ [x, count(==(x), fish)] for x in 0:8 ])
|
||||
|
||||
for _ in 1:days
|
||||
next_day = Dict{Int, Int}([ [x, 0] for x in 0:8 ])
|
||||
next_day[8] = next_day[6] = state[0]
|
||||
for i in 0:7
|
||||
next_day[i] += state[i+1]
|
||||
end
|
||||
state = next_day
|
||||
end
|
||||
return sum(values(state))
|
||||
end
|
||||
|
||||
function p1(input::Vector{String})
|
||||
return solve(input, 80)
|
||||
end
|
||||
|
||||
function p2(input::Vector{String})
|
||||
return solve(input, 256)
|
||||
end
|
||||
|
||||
@aoc(2021, 6)
|
16
src/day_7.jl
Normal file
16
src/day_7.jl
Normal file
@@ -0,0 +1,16 @@
|
||||
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||
import .Aoc: @aoc
|
||||
using Pipe: @pipe
|
||||
|
||||
|
||||
function p1(input::Vector{String})
|
||||
pos = @pipe split(input[1], ",") |> parse.(Int, _)
|
||||
return minimum([ sum(abs.(i .- pos)) for i in minimum(pos):maximum(pos) ])
|
||||
end
|
||||
|
||||
function p2(input::Vector{String})
|
||||
pos = @pipe split(input[1], ",") |> parse.(Int, _)
|
||||
return minimum([ sum(sum.(range.(1, abs.(i .- pos); step = 1))) for i in minimum(pos):maximum(pos) ])
|
||||
end
|
||||
|
||||
@aoc(2021, 7)
|
53
src/day_8.jl
Normal file
53
src/day_8.jl
Normal file
@@ -0,0 +1,53 @@
|
||||
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||
import .Aoc: @aoc
|
||||
using Pipe: @pipe
|
||||
using Combinatorics
|
||||
|
||||
|
||||
function p1(input::Vector{String})
|
||||
count = 0
|
||||
for l in input
|
||||
digits = @pipe split(l, "|")[end] |> split(_, " ") |> filter(!=(""), _)
|
||||
for d in digits
|
||||
for i in [2,3,4,7]
|
||||
if length(d) == i
|
||||
count += 1
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
return count
|
||||
end
|
||||
|
||||
function get_digit(i, o, digits)
|
||||
for permutation in Combinatorics.permutations("abcdefg")
|
||||
dict = Dict([[x, y] for (x,y) in zip(permutation, "abcdefg")])
|
||||
if all([ x in keys(digits) for x in map(x -> (join(sort([dict[y] for y in x]))), i)])
|
||||
return parse(Int, join([ digits[join(sort([dict[y] for y in x]))] for x in o]))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function p2(input::Vector{String})
|
||||
sum = 0
|
||||
dict = Dict{String, Int}(
|
||||
"abcefg" => 0,
|
||||
"cf" => 1,
|
||||
"acdeg" => 2,
|
||||
"acdfg" => 3,
|
||||
"bcdf" => 4,
|
||||
"abdfg" => 5,
|
||||
"abdefg" => 6,
|
||||
"acf" => 7,
|
||||
"abcdefg" => 8,
|
||||
"abcdfg" => 9
|
||||
)
|
||||
for l in input
|
||||
i = @pipe split(l, "|")[begin] |> split(_, " ") |> filter(!=(""), _)
|
||||
o = @pipe split(l, "|")[end] |> split(_, " ") |> filter(!=(""), _)
|
||||
sum+=get_digit(i,o,dict)
|
||||
end
|
||||
return sum
|
||||
end
|
||||
|
||||
@aoc(2021, 8)
|
61
src/day_9.jl
Normal file
61
src/day_9.jl
Normal file
@@ -0,0 +1,61 @@
|
||||
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||
import .Aoc: @aoc
|
||||
using Pipe: @pipe
|
||||
using Combinatorics
|
||||
|
||||
|
||||
function lowpoints(map)
|
||||
low = Dict()
|
||||
for x in 1:length(map)
|
||||
for y in 1:length(map[1])
|
||||
adjacent = []
|
||||
for (i,j) in [ [x+i,y+j] for (i,j) in zip([0,1,0,-1], [1,0,-1,0]) ]
|
||||
if i in 1:length(map) && j in 1:length(map[1])
|
||||
push!(adjacent, map[i][j])
|
||||
end
|
||||
end
|
||||
if map[x][y] < minimum(adjacent)
|
||||
low[[x,y]] = map[x][y]
|
||||
end
|
||||
end
|
||||
end
|
||||
return low
|
||||
end
|
||||
|
||||
function p1(input::Vector{String})
|
||||
map = [ parse.(Int, collect(l)) for l in input ]
|
||||
low = lowpoints(map)
|
||||
return sum(values(low)) + length(low)
|
||||
end
|
||||
|
||||
|
||||
function search(map, pos)
|
||||
q = [pos]
|
||||
v = [pos]
|
||||
|
||||
while length(q) > 0
|
||||
c = popfirst!(q)
|
||||
h = map[c[1]][c[2]]
|
||||
for p in [ [c[1]+i,c[2]+j] for (i,j) in zip([0,1,0,-1], [1,0,-1,0]) ]
|
||||
if p[1] in 1:length(map) && p[2] in 1:length(map[1])
|
||||
if p ∉ v
|
||||
h2 = map[p[1]][p[2]]
|
||||
if h < h2 < 9
|
||||
push!(v, p)
|
||||
push!(q, p)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
return v
|
||||
end
|
||||
|
||||
function p2(input::Vector{String})
|
||||
map = [ parse.(Int, collect(l)) for l in input ]
|
||||
low = lowpoints(map)
|
||||
basin_sizes = [ length(search(map, p)) for p in keys(low) ]
|
||||
return prod(sort(basin_sizes)[end-2:end])
|
||||
end
|
||||
|
||||
@aoc(2021, 9)
|
Reference in New Issue
Block a user