From 89b9402b79bb0d496e37ec2a02164cbbb211a637 Mon Sep 17 00:00:00 2001 From: Nat Lasseter Date: Sat, 9 Dec 2017 18:29:02 +0000 Subject: Day 09 --- day09/input | 1 + day09/part1 | 44 ++++++++++++++++++++++++++++++++++++++++++++ day09/part2 | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 82 insertions(+) create mode 100644 day09/input create mode 100755 day09/part1 create mode 100755 day09/part2 diff --git a/day09/input b/day09/input new file mode 100644 index 0000000..f9aa9d9 --- /dev/null +++ b/day09/input @@ -0,0 +1 @@ +{{{{{{!>,},i!!,!>,<,{{{},,!!!>!!!>{"!>},},!,'>}}}},{{<{!!!>},!!!>!!e!a!!!!},u!>,!!u!!!!!>},!>,<{>}},{<"a!!!!'!>},!!,<,!>!>,}},{{ue>,{},,,{<'>}}}},{{<"a,!>},,,<',}>,{{!}!!!!!>!a!!!>!>!!a!!!!,!!u!!!>,<>}}}},{{{<{i!!>}},{{},,{}}}}}},{{{,{<>}}},{{{{},},<"u{!>,},}},{{{},<"u>},<'oa!!<,'!!"!!!!!>!!!!!>{!!!!aa>},{{!>!!!>!>!!!>'}!o{!!{>}},{,!>!!!!},<<}a}>}},{e!>,!!<{!!i!>,<>}},{{{},{},<"!!!>!>},,<,ea>}},{{<},"a"oeie!>},}},{}}},{{{}},{{<}e},<"!!e"<">},{{<'!!{!>},}},{}},{{<"oe!!!>"o{>},{{},,!!!!!>>},{}},{{{{!>,},,<>}},{}},{{{"i{''>},{{},{{},<"}<",!>>,{{},{{}}}}}}}},{{,,,},{,}}}}},{{{{{{}},{}},{{{"!!!!oa!>},<{a<}>,<'i"a!!!>>},{<"!"ea!}e!!!>!>},<}o{>,{,ie!{{!>},},<'!>},!!!>">}}},{{},{}},{{{},<}!>},<{!ae!>,,,'i!!>},{}},{<{!!!>!!!>a,!!!}!!!!}!>,}e}<{!!'!!!>!>},<>,,""e}}}},{{{{{},{,!>!!!>>},{{{{<,>}},<","!>},!>!i!>,<{!!!>}!>,{ou>}}},{{{},!u!!!>!>,{"<},{uo!!!>,}},{},{{{{{a{i{a!>,'>},<"{!!!>}!a!!!,<>}},{{{<>},{!,{{>,<{!!!>u!oi!"{''oo!!!o,i}ao,e>},{{<},},,<}!!!>!e}o!>},<<>}},{}},{{{},{!>},i!e"!!!>!!",!>},},<'!!>},{{<>}}}}},{{{<{"!>"!!e!"}>,{}},{},!!!}u!,<,{!!o!!!>!>,},{{{,<}u">}},{{}},{},,",!!!>""!!ee,!>},},,<,'!!aa!!>}}},{{{}},{{!>!>,<>},{<}a{i},<'!>,<"e{!>,!!u,!!!!!>>,!}!o>},{{{,">},{<,eoe>}}}},{{!>},,,!>u!!!>e'!>,>,,<<'i'!!!>a!!u!!!>>},{<,ui{>}},{{{{}},{<{!!!>,o">,},"}e!>},<>}},{},{}}},{{},{<>,{<'{u!>!!!>},<{!!!!!>i"!!>}},{!!!>!!!!!>!!u>}},{}},{{{<,!>!!!>!>,,<}!>},<,{{{},<,!!!>>}},<>}},{<<"a!!"!>,!!!>u>,{>}},{{}}},{{{{<,!>,,,},},}>},{{i>},{,}}},{{{{},{>,},<"!!!>!>e{e<",,!!!>!!i>}},{<}}!!!>!>!!}e!>,,<"}!!e}{>,{<}u>,,e,>}}},{{{{},{{{}!>o!,},<}!>,e!!aa<",!!'>}},<{'i!>!!!!u{}!!!>},}},{{,<'!{"!{!!!!ei!>>}}},{{{!!i!!!!!!!a<}"i}!>},}},{{a<>}},{},,!u}u>,{<"!!iu!!!>}>}}},{{<{i<,,{>},{},{{>},{,i!!{'u<""u!>o"{}!i!>}!!,>}}}},{{<{u!!!!!>"{!>!!!!!>!!!i!>aue{,<,>}},{{{{}}},{,e"},i!>},,{<"!!}!>,o!!!!"!!u{!>,}},{{{{<"!u!>},,>},{a}},}o}!>a!!},!!!>!>}!!!>,<>},{<{!>,>}}}},{{{<!!!>,},,}},{,,},,{<{!!!!!>},{!>,<},">}},{},<>,<}!!o!>!!!>a!!!>!{<'a!>,e!!!>u>}},{{},{{{<>},{e!!>}}},{{{a!!!>'!!a!!{u!!!a>}},},,!!!>},<>}}},{{{}}},{{o!!!>o!!!!eu{"}!o,e}>}}},{{{{<},,>}},{{},,>},{{},{{<,"!>},<>}}}},{{{>,{{},},},<,u<,},},<,{!!!!!>,}},>},{{{<,!>!>ou!!u!>,,,<{!!>},},e'u!>io!,>},{!!}!>},!>},!>,<'!>,>}},{{}}},{{{,<}'{!i}!>"!!u"a,a!!!><>}}}},{{{,<,,!>},<>},{},{{>},,},,,<,<>}},{{{{{!!!>"!"a!>,!>},},}}}}},{{{{},{{,},<{!!!>i!>},<>},{}}},<,uu>},{}}},{{{},{}},{{{<"a!>,<<{!>!>},<'!>!>,<,<}'!>!>,<>},{{}!!!>>}},{{!>!!!>},!!!>}}!ee!!!>!!!>,>}}},{{{{,<"!!{'}!!!!!>'!""!!!>!>u!!o}!>},<>}}},{,<>,{}}},{{,{,!!}i,!!ai!>},},}},{<{!>,,}},{{{{}}},{{{}},{<'!>ai,!>},oei!!!>"!>,<'!>},,{,,'!!!!!!!>!!e,!!}o<>}}}}},{{{{,,<}!>,}!>},i!>,<'i>}},{{e'i!!o!!}},{{{},<}{a!!!>,,'!!!>u">},e!>},,!!<"!!!>,<{u!>,},{<"}',!ui,!!!!!>>},{}},{{{,<'!!!>!>,},<,eu,>}},{<{"!>'"!>,<}!>,<,!!!>}o!!a!>ei'o>,{{}}},{{<<}!",},{{},{!>},},<>}},{{<},<},{<{!!!!,!>!>},},<'o},,<>}}}}},{{{},<,!,!>},>},{},{{,,">}}}},{{{{<<,!!!!!!!!!>},!!,'!!!!a!>,<>}},{},,},}},{{},{{{,{!!!'>},{{<"!>},},{eai!u}!>},},<<,ae>}}},{,<,<>}},{{<}!'!!o!!!>a'!!!>!>,<"!!!!!!"!!!>},>,{}},{!><{>}}},{{{<}!!,">}}}},{{{},{{{{{{<"i!>},<',!>"'!>"{!!"!>e!>u>},{<'}>}},{{<,i{>},{<{!aa}u!!!>!!!!ia'!>,}}},{<"!">}},{},{{<{o!,'}a!!u!>},<}"{<>},{!}!!'ea!>,!!!>},},<>}}},{{{},{{},!>},<>},<>}},{{}},{{,{<!!!!!>,!!e!!!!',{{o!>>}}}},{{{{,!!!>,},}},{{{<"u,,,<>},{uou!>>}},{<",!!!>,!>>,},},<>},{<},!>},}!>},!>,}}},{<>,<''!>,},<}}},{{{}}}},{{{{,},<>,{{!!!>}!oe!},u>},{{e<>}}}},{},{{{},,u}e}!!u">},{{{<}o'!>',!>},<{,''>},{{!>>}}},{!!!iaiu,<'!>},}}}},{},{{<{!,i!!!>,"i!!<"!!i!>,<>},{{},<{!>,u!!!!!>!!}uo!!!!a!>,<{">},{<>,{<<""oa!>},<}ao{i!a!!!>">}}}},{{{},{,!!i!!!!!>,},},}},{{{},!!u>}}},{{!>},">,{{,<"o}>},<">}},{{},!>!>>},>},{{{}a<>}}}}},{{{{}}},{{<'!>,,},<}>},{{{{<"!>o'e,eu!!i!!!!{!!o!>>}},{<>}},{<{!},<>}}},{{{{<>},uee!},{{iu}!>>}}},{}}},{{{}},{{{{},{},{'ea}>,o,a'!>,}},{<''{,}},{,<{oi!>},uaa!>},u!!>,},{}}},{{{{{}}},{<},<,e!>,<{}},{{{{}},{{},!!!>!>!!!>{!>,,,<'!>!!{>}}},{{},{{}}},{{{<"!a!>,},<,io!!!>!>,,!!!>},>},{{,,<'u!!!>,u!i!!"!!!>"!!">}}},{!!!>!>},<<>}}}}},{{{{{<'au!>,},>}},{,<{ii!>},!!>,{'aou{!>},}},{{{>},<"!>>}},{{!!!e>,!!}!>},},{{},{,{{},<},{}}}}},{{{<"!>!!u!>}i!!!>ua!>},},>},<,o!!!>},,},{,},<{'!>>,{}}}},{{{{a!>,<{>}},{}},{{ui!!}'e>,{}},{<"!!i!!,a!!!!ui,>,{<,!>},}},{{!>,<""o,"oo>}}},{{{{},{}},{},{{!>,!!!e!>{e!!>,{<{!!!i{"!>},,<>}}},{{,<,!!'>}},{},<"o"!>,}}},{{,<>,{<'>}},{{},},<!>,}}}},{{{<<!>,<}">},{{{{'{>}}}},{{<,e<>},{}}},{{{{},!>},<{!>u}!!!>{a<,!>'>,}}},{{{,},,<},o!>,"">},{{{}},}},{{{<>}}}},{{{{"!e!>">},!>!>,},{{{,},<"!>},<>,{}},{{<>},},!!i!>,},,i>}},{{<{i<"!!!>{!!aa!!!>!!!>ai!>'ui!{!!!>>,{<,<}!!!>!>!!{!!!>!iiu>}},{{},,'e>,,!>,},},!>,},<'>},{{,!!!!!>},<{<'!o},>},{,<{},<{},}},{,,,{<'!>},,!!""'!!a!>!>ui'!>>}}}},{<{!>,,>,{}}}},{<'!!!>,<>,<}i"!>,!!}!!"!>},!a!!iu">},{}}},{{{{{{{<{eee!!!>}!>,'>}},{},}},{{}!!'!!,o!>},<}o>,},},!{},,!u'u}o<>}}},{{<"'}',!a!!!,},!!!!u{!au>,{{},{<,,!!!>,<"!!>}}}},{{!!!>e!i,,>}}},{{{{{{},e!oa{}!>},<"}!,,,}},{{,{<">,{,,<'e{e!!!>!!!>},iu!!!>"!i>}}},{{<,!!!>},oa"!a!oa!!!>>,},,<"e!>,<}}},{{{!>,,<{!!!!!>i!>},<<"!>!!!!>}}}},{},{{{{},{{{'{'!!!>},},},},{{{{<!>},''>}},!>,!!!!!>},<,"}!e!!!!!>>},{{}}}}},{{{{{{}},<"i}>},{{<'a!>},},<>,{,i,!>},<'},>}},<,!>,,<>}}},{{},{}}},{}},{{{}},{{},<{!>i"'!>!!!!,}}},{{<"!!>,{},}{!>},<}!!{!>,}},{>,i!o!!!!}"!!!!u{!>},<'!>!},<>},{{},!>,,},<{{a>}}},{{{!!!a!i!>,},<>}}}},{{},{{},{}}},{{{{<,!!!>!!!!"}!>},,},<}>},},oeo,!!{o},{{},{},i,>}},{{{{,,<>}},{}},{{{}},!>,,<{>}}},{{{},{{{{}},{},<>}},{}}}},{<!>!!!>!!eiu>,,<},<,!!!>'{'!!"ao}u!!!>'o>}}},{{},!!!>},<'>,{a!!!>,>}}}},{{{{,<">},{{{},{<>,!>},<}!!!>!!!!!!!>!>,<>}}},{!!!eao!>!!!>i<{o!>,},}},{{},{{{}},{{{},{!!!>!o!!eu!!<}},{{{<"!!!>!>"!e!>e"!!eu!>},},<'>},},<{!>},},<>}},{{{}}}},{{},{{{{<"iu!!!aoo,!">,!!!>,!>,,,>},{{<}!>},!!!>},}},{{a!!{,!!!"!>,<"i!!!a}!''>}}},{},{{{{},{!<,}}"o!!!!!>},<<}!!!>',>}},{,!u!>{!}!!e>}},{{eo>}}}}},{{},{,!i,'!!!>e"aa!>,<>}}}},{{{},{{}}},{},{{}}},{}},{{{!,u}!>uo!>},<,"},},<>},{{}}},{{{},<},,},<'<>}},{{{},{{',,!"!>eia!>},,<{<,>},,<>},{{},{,<,'i!!!!,!!!>i!},<,!>},<>}}},{{!!}o!>},!!!>e,{!>},,{{},<>},eea!!{!>},!!!>,<>}},{!>},!>,uee'>},{{i!!e!!!>>},},,<{!>},e!>eu!!!!!!!!!>,},<'!!>}},{{{'ooeaa!>,<{>}}}}},{{},{!uo!!o}}},{{{{<>}}},{{{{}},{{{">},{}},{{},<<>}},{{}}}},{{{{{{{{},}}},{o!!o!!{o!!u{>}}},{{},{<,!!ueua,{o{!!!>,<<>}},{}},{{<>},<}'!>,>}}}}},{{},{{{!!!>!>!>,},,,{<'!!!>,<,},,}}},{{{<}!!,!!!!!>!>},}},{{<>},{!>u>}},{{},{{<,"!!!>!!{>,},<},{u}'!!e!"{''o>}},{,}}},{{{<}>,{!>},,>}},{},{,,!>},,<'!!'!>},}},{{{{{{{{iu!!',!>},,<>}},{{,>}}}},{!>,}}},{}},{{{<},<}{!!auo!!!!!>},>},{{},{},{{{},<'{oi>}},"!>!>},,>}},{{},{{{}}},{{{,},!>,},,>},!>u!!a>}}}},{}}},{{{{e}'"oi!!!>a"!>,},{<'}>},{<"!>},<,{!u!i!e!!uee!i!!a"u{>}},{<{{!,!u!!,!!<"!!{>,{}}}}},{{{{!!!>,'!!,>},<>},{{{}}}}}},{{{<>},{<>,,},},{<{>}},{{{},<>,<,''e{!!{i!!'>},{{!e}!>,,<{>}},{},!!,a!!'!!}e'!e!>},,,{<,!!a,aoo!>!!,{!>},}!!,o!'>,<>}}},{{},<}u!!a>},{{{{{<',},},}}},{{o!'o!>,!>},!>,<>}}}}},{},{{{o!>u!!!>!>>},<>},{{<,,>},<'{ao!i,!!!>e!ua"{!"!!!>>},{<"!>},e",'!!!>},<'oo!!!>!>>}}},{{{>,{<{!!!!!>}!!!>a!<}!!ea!>!!>,{,<,!>},,}}}},{{{i!!u,!i!i>},{{}>},},,,a!>>}},{{},,<>},{{i'o!!"">},{<">}}},{{},<}!!!>"i!>!!!!u!!!>"!{u'!!e'!!"!!>,<},{<"!>!>,<,!!>},{}},{{{{}}},{{},{<,!!!>u>}}}}},{{{{},<}!>ia,!>!>},},<>},{{<>}}},{{'},<,>},{}},{{{{{{<>},{,}},{{{<,o!!{!>"i!>!},<,>}}}}},{{},'!!e"">,{<},!!u!>,,<"'!!!>!>>}}},{{!!!>!!!i!o!!{!!e!!"u!iaa!>,<}o,}ao>}}},{{{,o}a!!}ui!!!!!>!>},>},{,{}}},{{{},{},},<,,!"'!>,<>}},{{<"!>},,!{,!}e!!!u!}!o>},{,<{{o},<'>}},{{}}},{{}}},{{},{},{<{!!!>,},<'!!!!o!>},}!i>,{}}},{{<}!!!>},,{}},{{<},!>},,<'!!!!e!>!>,<"},},<>,{<<}<>,{}}},{{},}},{{<{},},,},,>},{<>}}}},{{},{{!!!>o!!!><'{'!!!!!!},i'"uu>},{{{},},<'!!!i}!>}!!!>!>u!"!!!!}!!!>!"!>'!>,<>}},{{!e!!!!a'!!!!}o'},,,<>},>}}},{}}},{{{}},{{{},{{},},<,!>},{!!{i!>},},,<>},},<}!!!>u!i"},<>},{{,}{!>},},{{>}}}}},{{{},{{<,oi"a>}}},{{{"{e!>,},<}<,e>}},{,,<"!,o!!!!'!!e',>}},{{"u{>,{<}!},}!>,!!,,e}<,{!>>,{}}}}},{{{{<"!>},<"a!>},!!!!a}"<}!!!>!!!!!!"!!!!!>,>},},{{,}}},{{{<>},{iu!!!!{!>},<>}},{{{},,{{}}},{{!!!>,>,<,<ui,!!!!!>,},<}!!!>>}},{{},{{{{},{e!>e>}},{!o!>},,{}},{{{{},i!!o!>},!>},'>}},{}}}},{{},},},},{{}}}}},{{{{},{<'ua,}},{{},},,<>},{<{e!!!>!!!>},<{{>}},{{<}e!!}!!!>},<>,{,{<>}}}}},{{{},!!!>{'!!!>ia!>,},<>},{,i>}},{{},},}},{{{<'u"o!!!>a!!!>,},<,!}!,{>,!>},!!!>a!>,},}},{},{},<<{}!>{!o"!>,!>,},<>}}}},{{{}},{{{<>,{{<}'i!!o}!!{!!!>}!!}!>},<{>}}}},{{,!,!>},<{'o!!!,>,{}}}}},{{{}},{{,<},!!!!!>uo}}i!>,!!o!>,<,!!">},{,}},{{,<'u!!!>!,u{""!!{}!!!>,<>,{{{{},{<'oea!e!!,oe!>},}},,,<>},{}}},{!>},}}}}},{{{},{{{{},<,!!!>},<"o!!!>a!!!>!!,!!!!!>e>,{,>}},{{{<>}},{{{},{!!""!>,o!!!>!!i!>,<>}}},{{{<}ua!>},},ee}a>}},{},,<>}}},{{{}}},{{{e">}},{{{{{}}},{{!{!!!>>}},{{{{!!!!!!e!>,<"!!!>},,},,,},{{},u,},{},,<>}}},{!!'u,aao!>{!>,<>,<'"'!{!>!!u!!!>ia"!!!>u!>},},{{{}}}}},{{,<{!!!>},},<"}a!!!>!">},<{!!}u}!!!>>}},{{},!>},},},<>},{>}}}},{{{{},,{},!>},,u}{>},{{},{<>},{}},{{},{{},{}}}}},{{{},{{{},{{{"!>},!>},},{!>!i!>},}},{{<'!>,},"!>"ou>},!!!!!!!!ae!>,<'!>},,<,!>},<{!>,,!>},<>},{{!!{,i"!>!>,}}}},{{{<>},<'!>a>},{>,{{{!>,<{oe},{ea{!>!>,<>}}}},{{,o'!!i"<"!>,!>,}}},{{{!!>}}}},{{{!>,!!eu>}}},{{},!>},<}o}>},{{<}o,!e!!!>,,,{>}},<""u!>,<>},{}}},{{{{{{<<>},{!!e}'"!>!!!>i{!>},<>}},{}},<>}},{{{},{{<!i},},{<}}!>!!!>!{!<<{{e!!!>!!,e"!!!!{,>}}},<{!!!><'>}},{{{{o},},},<{!>,},<>},{{},,{,<,!>>}},{!>},,<{<'!'},<>}},{{},{{{},},,<}!,!>!!uu!!!!u!>},},o}!!!>!>,'i}>},<<}a>},{{<>},{}}}}},{{<}}io,<>},{'>}}},{{},{{{},{,<{'!!!!!>e},<>}},{{{"u!>},<}u!!e>}}},{{{{{},o!>o!!u{{>},{}},{,ai!o!>,,,{<,u!!a!!!!uu},<}},{<,!!{!!i,a!!''ue!!"!>i,!}!>,<,a!<>}}}},{{!!"u!>,,<>,{}},{{<,,u">},{{},},<}}o!>},<<>,{{{,,<"!i!!!>a!!"o<{>,{ueo!">}},{},!!!>>,{}}},{a!'}a!>e!!,!>,<>}}},,}},{<}a!>,},"<<>,{}}},{{<{{a"!}{>},{{},{!>!!!>i!>,ea,>,{,<"i!>a"!!<,,ii'>}}},{{"e!!},,{{{},{{<'!>},!!<,},},},}}}}},{!>},<>}}}}},{{{{},},}},{,<<"!!}!!!{!!<<{!'e!!!!!!!!>>,{{<,!>},ia!!"o!!!!!>}>}}}},{{<"!>,>,!>,<{!{!!i!!!>,,<"i},!>!>,!!o>},{},<{!!i!>,<,,!!!>,>},{!>!a{'!!!>>,,}},{{{{{},!e!!!!ia}{!>},<{o!>,,<{<"e>},<>},{}},{{},,{!!e},{},},,},,>}}},{{{{<'>}}},{},<{e!!!>,<>,{{{},<"!!!>!>},<"a>},}e}}!>!>o!>},}},{{<>,{<,o{!"!!!>eu!>},<"a>}}}}},{{{{{},},<u!!!>!'!!u'!>,<},,{}},<}!!!!!>!!!>},{},<,!>},<}!!ia,!!!a!!"!!'!!!>ea>,{{{,<"ea"!!!>io!!!!!>},<>}}}},{},i,,<}>,<<}o!>},},<>}},{},{{},{{!>},,!>,,},,}},{{<{!>},}}},{{{,<>}},{<,{}}}},{{},{{},{{,<"a},'<"o>}}}}}},{{{{{<>},{<}!!a,}!!!>!>,<"!!!>u!!!>>,<},!!!>oe!>},<{u!>,<'>}},{},,,,}},{{{{{},,},,{{>,<,,o!>,>}}},{,,<>}},{{{},,>},<}!!i!!!>!!!>},>},{{{},<>},{},},<}!!!>,}},{{,,<>},<},!!!>ee!>},},},{}}}},{{{<<''o!>,<}>,{{!>},>}}},{{{<{}!>},{a!!}<<'>},{}}},{{}}},{{{{},{{{!!,},{>,{,,>}}},{o>}},{{,,}},{},,!!!>u!!!>"!!u>,{}}},{{},,{<,!i!!!!!!uoi>}},{<>,{<}{,u!!}}},{<>,{,!>!!>}}}},{{}}}},{{<,o>,{<>}}},{{{{{{},{{{,}},{,<>}}},<},},,},{{},<"!!!>,!!!!}}},{},{!>>,{aa!!!!a!}e,"!>,<}<},}},{{},{}}}}}},{{},{{{{{{{}}},{<>}},,,},},},{{<'!>,},},<<>}},{{u!}!>},!}>},{u>}}}}},{{{{},{<}u"i!!!>!!a!!u!!a{u'!!e<>},{{<>}}}},{{{{{}}},{<>,{!i,}ie!!u!>,,,<>},{{{},{}},{}}},{{<"}!!"!!!>"""!>,<>,{<"!!!>},},<{'a}!!a!!!>eo{!!!!!>!>,<,>}},{,{}},{,,!>eo!!!>",}},{{{{{<>}}},{,},,a!>>}},{,>}},{{{{},{!>!>!>},,<,,!u>}},{{{{<,o!>a>,,}!!i>},{<{>,<"',e!!!>},{!>},,<}u!>},},{{},{<>,{}}}},{{<"!>,u!>},<>},{{{<{!>!!"i!>,<<"!>i!!"a}}"i>}},{{},,},'<>,{{}}},{{}}},{},<}a>,{{},"u>}}}},{,<,<>}},{{{{o!a<}!>">},{}},{{},{{!!!!{,{"!!}'!!,<>}}}}},{{{{},!!!!i!!a}o!!u!!'!>,<{!,ouo,e>},{},,,}!>!!!><>,{{o!!!>{},<>},{<}{o!,a!>!!!>>}}},{{},<>},<"ou"!>},>}},{{<,>}},{!!!!!>},}}},{{{<}o!!!>},<,}a!}e!!!>'>},{}},{<{"{!!{!!,>},{{{,<>,{}},{},>,{,<"e{!>,,,<,}},{e{},},,{}}},{}}},{{{,{<'{!!}e},,,<>},{{},{}},{{},{'!>},!!!>u<{!u>},{{{}},{{},{{},{<!>>}}}}}},{{{{<"u!>},>,{}}},{{<"!>",,>,{'u!>'<{u!>u>}},{{,,>}},{{{!>,},!>,>},{<{,"!!"'i>}}}},{{{{{},{i,},<,>}},{}},{{>},{{,},o!>},},!>},}},{<<"oie!>},!!u,{}}},{'!!!>"o,u}>},{{{{}},{{},},<!!!<"!>,<}!!!>>},{,{<{e!!!>'!!!>'!!e{ue'!!o!!!!!>!!!!!>!>,<<>}}}},{<{!!!>u!!!!u!!!!'>,<}{i!!,o">},{<"ea""!>e}!>,<},<">}}},{{{{<>},{}}}}},{{{!!,!>},<''ue,>}},{'{o!>!!!!!>!!">,<<}o!o{!>},},{{},>},},<{'o!!,,"'>}}},{}},{{{!>},<{!!>}},{!!!>},,{}},{{{},uu>}},{{{<,!!!>!!}"!>},<{'!>!>a}!!a!!'a!>{>}},{{{{}},{{}}},<},{{<'>},e},!!<<>}},{{<,e{!!!>a!!},<"!!}iu!!}!>i<>}}}}}},{{{},{{{},{{{}}}}},{{"!>i!!>,}io!!!>!>,<,},u!!!>>}}},{{{{o'!>i!!a!,!!>}},}},{{{{{{<,!>,,<,'>}}}},{{<'u'!!'"!aou{e}!!!>,<<>},<{a!>,},'!o}>},{}},{{{e>},{{<>},{}}},{{{}},<,!>,<>},{{{<"'{i,'!!!>,<"!>,,!i>}},!!aui!!}>}}}},{{"!!{<>},{{<>},<"!>},<{}{e},>},{{},<},>},{!>!!"iu!!a"u}>}}},{{{{,},<'a!>,>},{,,,}},{<{"!},},<,u,!>,},}}}}},{{{{},}"!>!!i"e!!!!>}}}},{{{{!!},{,}}},{{{{<'{i>}},{}}},{{}}},{{{}},{{{{{{},{},<}!!!!e{!},i>}},<}{>}},{{<',!>},},e!e}>}}},{{<'e!!'!>}}>,,!}',!!u{iei!}},{{}},{{{{},<{!>},<''i}{!u!!!>!>,}}}}}},{{{{{{{<"!!!!}u"o!>},!>},},}},{!!!>},,<},<{!>},<>}}},{{<'e!!a'!>},}},{,<,o,}{!!">}},{},{{{{{>,{}},{},!>},<},!!!!}i!!,!>},ao!!e'<}>}},{{{<}>},u">}}},{{},<,},!!!>},},},{}},{{{{},{{{<,'{'}!!!!e!!{>},{<,!a'a!,!!!>>}},!!!>,}!!}'>},{,<,!e,{<>}}},{{}},{{<>}}},{{},{}},{{{{<"i{}'!>},<{,"{!!!>!!oe{{o>}},{{},{!>!!!>!<}"!>>}}}},{{{},{<},<{>}},{,},<,{i>,,,<},!!!!!!!>"ua!!}>}}}}}},{{},{{{},{{{},{"!!!>o{'!!u"!!"!!!!!!',>}},{},,!!!>ea>,{}},{{{<,'{"e,!>},>},{},<}{!>,},o!'!>!!!!>{uo>}},,!}'!!{!u"a>}},{{aue"!>},<>,},{!!!!!>>},{{}}}},{{{{,},<{i!!!>i>}},{{<'a}>},<{i"!!a!a"!!!!!>'!>,<!>},<{>},{}},{{{"!>,<'!!}e"a"a!>,},<"}>,{},!!"",!!}},{{{!!!>!>},<,!,!!!'!a!!<>}}},{{,<'!<>},{}}},{{{{{},>}},{}}},{{ee},,<>},{<}}iu!>},i!!!>!>!!>}}},{{{{}},{,},},{}'>}}},{{!>,!>,,{!>!>oi{!!>}},{{<},{}},{{{}}}}},{{{},{{<'"!!>},{}},{{'"!!!>i'>}}}},{{{{<"}!>i!!o!!!>u,!>!i!!!>ii>},,},,<>},{{},<},u!,<<>},aiu!>!!!!e!!!>,!!>}},{{,},},<,u<,}!>},,{{},{}}},{}},{{{{<",>},{<>}},{'i!!!>,}}}}},{{{}},{}},{{{,,},i>},{<,<}}ao!>},},>}},{{{!}!!'"!>,<<"!>,'>},{}},{{{'u!!{!!!>e}'o!e!!!!!>o>},{<"!!!>}!!'!!!uooeo!a!"!iio!!>}},!u!"{,!>!>!>},},{},{!i!!!!auo}},{<"'!>},<{e!!!>!!uu!>,,{},,},<>}}}},{{{},},{{}},{{{}},{<!>,,,<'!>"!!!>{>}}}},{}}} diff --git a/day09/part1 b/day09/part1 new file mode 100755 index 0000000..1bb643a --- /dev/null +++ b/day09/part1 @@ -0,0 +1,44 @@ +#!/usr/bin/env ruby + +input = gets.chomp.chars + +ptr = 0 +garbage = false +escape = false +lvl = 0 +score = 0 + +input.each do |ch| + if escape then + escape = false + next + end + + if ch == '!' then + escape = true + next + end + + if garbage then + garbage = false if ch == '>' + next + end + + if ch == '<' then + garbage = true + next + end + + if ch == '{' then + lvl += 1 + score += lvl + next + end + + if ch == '}' then + lvl -= 1 + next + end +end + +puts score diff --git a/day09/part2 b/day09/part2 new file mode 100755 index 0000000..d92e7cd --- /dev/null +++ b/day09/part2 @@ -0,0 +1,37 @@ +#!/usr/bin/env ruby + +input = gets.chomp.chars + +ptr = 0 +garbage = false +escape = false +lvl = 0 +chars = 0 + +input.each do |ch| + if escape then + escape = false + next + end + + if ch == '!' then + escape = true + next + end + + if garbage then + if ch == '>' then + garbage = false + else + chars += 1 + end + next + end + + if ch == '<' then + garbage = true + next + end +end + +puts chars -- cgit v1.2.3