From 056644562bc67ff956c96986a1dd899ea88e0421 Mon Sep 17 00:00:00 2001 From: dobiadi Date: Tue, 3 Dec 2024 19:32:02 +0100 Subject: [PATCH] Day3 --- day3/c/day3 | Bin 0 -> 15888 bytes day3/c/day3.c | 58 ++++++++++++++++++++++++++++++++++++++++++ day3/input.txt | 6 +++++ day3/rust/Cargo.lock | 54 +++++++++++++++++++++++++++++++++++++++ day3/rust/Cargo.toml | 7 +++++ day3/rust/src/main.rs | 45 ++++++++++++++++++++++++++++++++ day3/sample.txt | 1 + day3/sample2.txt | 1 + 8 files changed, 172 insertions(+) create mode 100755 day3/c/day3 create mode 100644 day3/c/day3.c create mode 100644 day3/input.txt create mode 100644 day3/rust/Cargo.lock create mode 100644 day3/rust/Cargo.toml create mode 100644 day3/rust/src/main.rs create mode 100644 day3/sample.txt create mode 100644 day3/sample2.txt diff --git a/day3/c/day3 b/day3/c/day3 new file mode 100755 index 0000000000000000000000000000000000000000..740934408839fd1e488481bcaf3d2ace5cd5b1e7 GIT binary patch literal 15888 zcmeHOeQ+B`6<^6tqO`T-goLV1+FXlL9EcSwwo|8V8p)B9GvlNoar!YydX^>G)>M{^ zbZ(uJf;(7K}VXMD(jCU!)EgMYFO*zeQLi z-HE+44o0rG`qR)EM3Z|9SD*n1qumcuKJaQaP{=c8)yh?W@jZHp{)hd~+;?)#wQJA@ zj|1C88x-VlW5MAEU_%=fA5Ba`83p;_eF+YQ9i=CsZ357M$t?pZ!wZ1w-`f-Octw?`Oz^koHmnC3$rhYCI!zTWO_ z#>Q}axWg)6X_XeZ_J!icaHlYO`*#|tG_;o~n(0FS&TZLzF5RCP%%-8!;n94K#%L(h znubDnVU~Mf-v}H2^T1WJSTd+7LC%CCPge7y41{vA_!My$W-?89wcSJd3aK}W&yoIv z&pZIrzd?M3^zn<)-z&ZeItt%^`Fyl}K=Ehj{>uCuoz&e?RnI)@C7ci-c&+i+QUAG( zr&}q~;%mh`9uAFR#p*~2_*vk=qPz^Mj>SX4z<1)I)$!@K|NczO^W3`_XowCsLU_+~Cc{0-yic*;9C)@W5s+ z*^fiG34HWpheN*dRw%`%-_WO@jg-oRphQaX>6bw*?~^w1&_qiAXrqkW_zL~bCoq53ZxHv(=1+z7Z4a3kPGz>R<# z0XG6}1m33+!1ppJqvP2FEiL=oS~nm3WMqB&9qZQHl>_Szr}76{B;-D9Vo9vcz<>EC ze$T3gt2Jl?pHqMTN~O{dc=**y0ZUo#2xDjw8;6}iW!23D^oY%&AZ1_loVk!_95OShj z6Y1AbKHNp5bH3av((#2W%Ebx<=gr}>8w%I|?OY{~dI=u}K{&@uzTpL(bIZz9&pBdm zOY4Q)upsFx2^q*ulqpY6J-rHXh79;Q6JHpkT&O^lh+w`<1L1MAKj-Li|L;`P@jx@u z6y9md<2y?J@Fq~|9A|j!mHHsnzePHan}+j$2hJaNcD#uaF1Hh2PdG$)E8*RQ4-h^? z_(MW&m-8fdY}$FHmcw;!CZEV}v(bm=0De6>hjhQmav$sbi0yxGaYZ(elS<1*71r| z;!t}SQp4jn?TYQ}-3IyBaB&$uy0LvvY-f+5$M*QD~4P-qrZ&8_J| zF_X_#DF)OP(%A$$P-!e{im)7a*i27AS)SW)AurEtSJv8Q79x} zpy*@0>d;w{4P<-=$?$4eB)mGYmdxL$!v$jZ$R(hn~quUEKL zw6)8JK*2QvuPeI9pD}7ThBB`on8wfK?EVwv&xpS>cH#RRbG=Zo`#(tjj2asfI{oqY z=M7kM@c4Nh#>oBC^5k9PPk=xE9i07noyIsx0mCt3k&mC(OBvvB$n4MSK1N>Wfr%7n z{67IKuBq6c*HMg`apy}5j-UPGnyO*s z`LEdOZ)1>q3O2j{h=wd=oN5xpw-i`=XaB!}8vKrhE?eunBmVx-Y0o<2v)~)B`SWwu znN}b{*iLB+I`e0t0_P6*&+A|7dr~|&5S;%g?8oQvb>Ps1{rP*R(gw6v-@U1l+Ot37 zTR_|Wc|Bbw{{g!*l-ZBb3(j_bURUaE%8|#(&9I-PgEMkG{(-2fxv`GFv%MzjpUk;g z!Tz?-pk*D76~&G`_f(DAAEyR`G%)-f!t=!A=ljP};CSrHQ|-UeuJG5~5mh==SVPzL PzpYa_e9+ +#include +#include + +#define INPUT_MAX 1024*1024 +#define MAX_MATCHES 3 + +int main() { + char *p, *buf, c; + + buf = calloc(INPUT_MAX, sizeof(char)); + p = buf; + + regex_t regex, doit, dont; + regmatch_t matches[MAX_MATCHES]; + + regcomp(®ex, "mul\\(([0-9]{1,3}),([0-9]{1,3})\\)|do\\(\\)|don't\\(\\)", REG_EXTENDED); + + while ((c = getchar()) != EOF) { + *p++ = c; + } + + int sum = 0, sum2 = 0; + int enabled = 1; + p = buf; + for (;;) { + if(regexec(®ex, p, MAX_MATCHES, matches, 0)) { + break; + } + + // mul matched + if (matches[1].rm_so != -1) { + // There will be 3 matches: 1 for the whole regex and 2 for the capture groups + int a, b; + sscanf(p + matches[1].rm_so, "%i", &a); + sscanf(p + matches[2].rm_so, "%i", &b); + + sum += a * b; + if (enabled) { + sum2 += a * b; + } + } else { + if (*(p + matches[0].rm_so + 2) == 'n') { + enabled = 0; + } else { + enabled = 1; + } + } + + p += matches[0].rm_eo; + } + + regfree(®ex); + free(buf); + + printf("%i\n", sum); + printf("%i\n", sum2); +} diff --git a/day3/input.txt b/day3/input.txt new file mode 100644 index 0000000..325e4f1 --- /dev/null +++ b/day3/input.txt @@ -0,0 +1,6 @@ +select(){,(where()+-mul(514,727);:]]what():^*from(764,547) mul(550,305)$^^%>select(587,376)mul(94,564)select()when(633,175)[[mul(302,490)$-}&**+mul(335,535)@select()>select()mul(241,166)when(800,629)mul(758,530)',^ &!~%/#mul(938,70)?&!from();mul(412,287)}/mul(230,620)(~select()what()select()'@mul(410,577)$mul(720,516)-mul(373,78)when()!^:@{)mul(793,973)who()when()mul(85,246)>what()}[#[@!^/mul(396,22)@when()-;:':>}mul(515,670)<[mul(38,415)?~select()why()^when()*#+($do()']select()>:^/when()^mul(440,923)@mul(48,816)mul(370,665)@*>who()^,when()mul(155,426) mul(132,914)^%select()&when()/from()(+}mul(296,176)mul(361,479)%{;!,'who()where():mul(506,495)#who()&%< ^mul(481,87))&!;mul(541,563)%don't(){}'-),from()$mul(495,427)^when()mul(640,499)select()}:] )%+()mul(967,918)?when()select()<{/who()what()mul(505,225)(mul(90,482)>!from()when()#do()mul(620,841):who()!mul(719,850)where()-)mul(931,185)?;select()]@,why()%]mul(39,103)mul(687,103)$%];how(337,314)[}$-when()mul(282,494):;!where(188,779);who()mul(342,554)<^who()(why()where()who(345,491)%mul(407,74)why()&}'%'mul(324,781)mul(90,925):from()mul(828,16)mul(438,549){what()>$why()*what(35,607)mulwho()mul(91,548)>,what()select()]&how()@mul(384,93!select(),where()$mul(835,662)@{don't():#<^/-+mul(489,462)>>where(){why()where()---when()mul(53,461)/~?mul(273,777)mul(119,879)+@'when()-mul(585,949)?['when()from(946,632)mul(22,105)>-:how())from();mul(439,876)?mulwho()@who()when()<@{-mul(111,687)$&mul(432,628)%*,{when()mul(287,508)'-select()}don't()/#~-@from()[:#mul(111,655)%: &;mul(518,391)don't()&mul(197,749)@who()*mul(935,21)+> who()why()mul(299,881)who()]@+%/from()[?do();{+[why()$select()#mul(264,731)]'select()what();+who()mul(713,161)where(931,649))mul(360,529)}where()!;]how()how()mul(619,728)how()<%}+}mul(420,324);{!from();mul;)>mul(144,181)who()}?~where():who()${ mul(261,691),why() /+mul(189,450) ++when()%^]]/when()~@mul(533,22)mul(231,586)mul(107,724)!@mul(504who()@}when(291,528)mul(691,859)/}#mul(726,544)from()[>>what()^?^from(762,977)mul(67,280)(who()^mul(586,844)}how()how()+where(),mul(886,320)#from(691,802)mul(376,296)'why()[@}how()#why(530,714)?>mul(791,363)?what()$${@why()>+mul(133,626))why()&}what(){%(mul(474,459)what()where()(^mul(311,372)mul(243,118)where()@mul(302,760):{who()-'{+mul(145,293)}why();how());$]mul(652,761%? ;]:@mul(259,51)@>'mul(474,995){don't():}*mul(309,511)?select();(mul(553,164)]how(){when()mul(556,560/~when(464,361),^<#[/&do()when()&who()*mul(22,727)from()):who()when()}mul(367,34/when()where()mul(226,816)mul(421,33'(,(#, ?who()do()%;+-:-mul(99,868)#{[why()who(504,690)?mul(119,337)+,mul(250,122))%#%mul(708,536)>select();from()mul(480,332)}&what(423,278)mul(891,459)}mul(852,128)mul(418,844)~select()[{when()(mul(69,312);!)where(419,852)<:*@-don't()what()!$-;{mul(91,636)-when()select()~from()(&mul(894,19)how()]@,[do()#,what()'@mul(116,57)why()from(),@-?mul(651,74)]what(704,54)how()<$mul(169,494) )from()$~-mul(44,491)$mul(29,368)'why()+-+mul(961,385)>who()select(137,499)mul(586,30)$%when(765,538)?why()(mul(378,568)}select()[:[%?$from()don't();mul(375,803)#']/@/^}*where(184,703)mul(21,508)>;+,mul(921,355)};mul(594,553@%])mul(793,439)]from(599,582)mul(982,538)}//^;how()~)'from()don't()~&who()<+#+mul(386,116)>/~who()mul(373,106)+#!do()(&-select(),+~;~mul(59,223)mul(233,653)mul(547,404)?where()~%don't()}}select() from()@] from()mul(150,196) ]}(>mul(514,824)where()+mul(332,418) +/>'^')what()mul(590,783)?$when()mul(55,422)from()~]select(198,113)from():}don't()mul(436,985)^:select()from()@//don't()/mul(675,976)$from(),!&]#*&don't()*[#how()~/*mul(172,297)<-{,select()};mul(866,305)$mul(938,509)+>mul(100,651)%where()how(223,719)/){!!;(mul(163,66)+''when()mul(217,127)^},(why()how()what()]who()mul(39,897)>/(mul(966,889)-]'}{,+,!$$why()from()mul(338,824)where()/&;mul(230,684)@'where(354,854)- )%when()mul(288,730){from()){}where()mul(124^}'(&don't()mul(688,399)from()++[how()why()mul(136,861who()!?#select()!]where()!do()&how()where()when()mul(968,380)'-$select()why()&:;mul(906>select()^~who())>:*mul(433,704)&why()#who()%@;what()>;mul(848,947) from(497,742)?select()~mul(590,692)why()* ,(<<)where()*mul(102,487)when()]where()>*when()!mul(406,710)mul(962,153)who()who()what()+&from()mul(419,854)$/mul(201,493)from()-)select()'^:[!;mul(779,883)why()why()}?why()(don't()what()]%~{mul(966,261)how()[when())^when()]mul(513,694)/*:when()select()who()'mul$?++~?:$mul(657,498)$ &why()mul(310,762)^+what()~,what()why()why()#}mul(320,448)%mul(886,159)(]what()?'@why():[mul(415@who()$what(){select()who())mul(912,558)select()where()%'why():mul(784,109)-&:-]mul(354,211):*#~mul(637,881),$from()mul(947,709)what():,'mul(284,267)&from()mul(259,860)/^],&(when()when()^mul@select() how()!mul(462,151)~,)where()mul(7,166)**what()<~mul(137,598)^]~>mul(561,283)*@ ;select()mul(262,658)who()<,-what()/-why()mul'$;;-]#why()>mul(510,757)$what()who()>mul(139,401)where()^#&/*mul(332,919)>?how()]when()/mul(218,127)[+mul(504,583)why()$>^mul(649,222)@?don't()from()&what())&'^mul(878,444),,mul(340,684)when()'why()when()?why()mul(852,617)mul(569,36)~(select():>~&/when()@do()why()from()>who()where()mul(93,146)(;why(863,117)mul(681,428);#mul)$from()how())?{] mul(793,537)where() @~?++?when()why()mul(163,958)select()}who()mul(540,501)$when()#who()/mul(331,537)[>~why()what(395,317)[)[mul(928,496):mul(127,943)$>mul(18,669)?&mul(443,860)when()!;;&select()*mul(624,669)[}:,*>]mul(941,338)?%where()((how();<~when()mul(483,529){)/'+'~$mul(254,159)when():when()'*!??%mul(731,125)when(670,595)]^^from()'?]mul(912,606) ):[^do()#{;?-mul(851,526)>'!'mul(689,174) >?{)how()/;what()mul(919,455)]mul(320,219){#+) {mul(267,831)((from()&:[-from()mul(84,102)mul(291,186)/+}*mulhow()?who()-*mul(973,390) + (~{$where()why(250,398)/how()&#!/usr/bin/perlwhy()-{{#^%>mul(772,422) 'how()}&)mul(184,89)$what()mul(376,816)when(),@#mul(949,642)'/+select() [mul(399,146)[~who(){;~ mul(526,131)when()mul(787,620)@~+?from()@-mul(310,482)}:$?what() ,mul(360,720)/why()why()#)^mul(561,462)+@:-{who()mul(403,894)from(),}{(('?!mul(555,514)?-:#&]$-mul(18,725)??mul(901,195)how()mul(814,623)$;~)select()/mul(4,986)#,{-]{!*~mul(833,296)/?mul(496,21why():@/#[what();mul(162,231))>~do()select();+*^?}?mul(38,18)?*who()&why()/who(479,558)from()%,mul(225,613)mul(494,841)'who()%@+{>&~mul(586,498) select()*!/]};-; /what()where()mul(614,161){select()where()+!what()/-mul(927,228)mul(432,16)when()?&+'^mul(539,745)]^when()what()mul(970,413)+<&:don't()$%mul(533,997))-mul(574,681)mul(978,225)&![who()why()(>mul(453,460)why()*+how()~!why()where()*-mul(840,804)>+mul(570,880)/>how()'-~*;+mul(367,248)$@what()mul(303,242)when()?>!!!-what()>%mul(547,184);when(300,185),^mul(196,377)~<{,[@from()when()from()'mul(727,421)>mul(199,873)],select()-+<&where()mul(962,772):what()/[${how()<*where()mul(534,770)select()/how()>*mul(356,156)((%where()}~how()#who()mul(801,644)from()mul#select(458,914)how()where()~}(}what()mul(273,584)who()mul(692,224)(>what()where();%,-mul(779,81)<[~who()!mul(786,30)]':mul(328,225)/when()#])(>:?:don't())*/mul(914,292)why()mul(83,290)[~mul(257,792),;+]*mul(949,612)*{;[-:]$^]mul(813,824)]/mul(5,572)}+don't():)from()*[>+(#who(422,860)mul(243,781)<-mul#<*<#&{?/'mul(579,115)(:mul(861,206)?)<&{>;mul(331,573)mul,^->,~>?who():from()mul(463,386)['{*>],when()?mul(740,88)]<[where()from()-]mul(685,334)+how()}how()^mul(973,106)select()$+mul(867,634)do()@-?mul(535,483)how()$[mul(161,41)]where(),#,mul(129,507)don't()who()what() mul(214,987)[ *^*[&mul(870,285)when()how())(+)+who()^how()how()'why(990,834)<@from(535,913)mul(741,712)why()when()who()@>-*!mul(296,759)$@where()mul(585,923)where()who()/why()]}>mul(163,233) ;;what(771,674)when()mul(553,949)select()when()'mul(545,530) +( !>{!-*}mul(646,888)]-?why()+mul(359,478)why()mul(186,893)]where()what()when() >select()mul(592,52)where()select()from()[select()from():~'/mul(164,308)what():>^)why()how()$&who()mul(377,499)why()((where()@~who(),mul(658,47)#how()+%from()'/select(287,448)]~mul(759,688)!@?]{(~mul(196,596)who()+mul(759,422)/@[#>where()mul)-how()>$&:$@},mul(861,458))mul(126,262)@;what(){};:don't()#mul(695,332)>what(),why()#++%select(){mul(471,679)^select()/mul(387,568)when()%(]*how()>do()' ^]?mul(777,56)>where()(why()select(14,295)mul(874,481)!from(){;~how()@mul(22,505))~who())when():&mul(395,566)-(~what(231,98)$$;$mul(326,815)>from() select()^who()#mul(189,720)what(),from()don't()>%+/mul(418,532)-;):don't())@:#!when():$[:<['mul(764,131)$:@&[from()%+~ mul(258,284)from(810,941)&how(232,473)mul(338,578);/select():mul(990,919)from()how()>[{!}mul(69,711),when()+do()}/[#who()*mul(907,255)?!}{]*mul(781,224)#select()mul(755,122))-:[',mul(863,596):how() who()%select()select()[what()do()+where()^+mul(722,58)^[,how()?#^ !:mul}&select()~{}mul(885,728)when()?mul(468,630)?where()from()select()>*~:don't()%#}$@-)mul(200,579)why() mul(10,435):)/;@{;mul(298,190)where()why()$ mul(9,631);where(7,826)@-don't():':;[,!@+mul(273,471)mul(325,690)mul(267,174)mul(339,952)}what()>)>@mul(307,862)do()why(335,510)]&>( mul(636,749)(-mul(592,773)!mul(2,50+'#mul(338,514)#;why()where()mul(127,711)@mul(146,911)mul(860,601)%select()mul(806,306)mul(410,847),:[mul(73,481)+don't()>}&)]mul(509,882)*/@~*where()-!mul)$do()where()?mul(308,113)/@?why()where()>%mul(970,425)~[$@'[mul(83,136)+<%who()who()who()^~where()mul(960,152)when()mul(714,401)how()?]from()*!what(313,652)mul(455,389)select()why()<-[)%:(%mul(929,53[-@%~;%]where()why()mul(293,806)from(258,940)[mul(959,603)!@)why()?{{$mul(744,798) '{}&<&?,mul(389,91)#'select()@,who()/$($-@,mul(792,652)how()mul&)!do())-}?~select()>mul(527,656)mul(220,657)who(453,708)mul&when()/when()+ how()how()%%@mul(62,191)'{%,mul(13,233)mul(780,237){from(817,212) when()mul(216,970)@what()}<: - ;mul(954,521)+mul(645,579)mul(695,53)%{},mul(927,488)$/$$what()&what()mul(815,350)](select(){;mul(650,656)&<:what(70,971)* mul(452,286)select()#&)when()+mul(438,390)>what()/mul(353,213) &from()~mul(920,652)~mul(971,287)don't()select()}/mul(4,595)where()-mul(332,353);>+mul(64,192)mul(33,846)}'where()(:mul(13,41)[@!^][(^$mul(728,587)what()>^&what()>who(73,62)why()where()mul(501,624)(%!mul(187,871),;>from()(, mul(563,884)]]/[who()mul(685,629){where()from()@@',who()why();mul(57,598)mul(799,387)why()?mul(963,99)*-!''when()mul(606,12)who()]how(), mul(615,921)/what()from(858,351){how()#who()@mul(379,934)~/{mul(871,792)<[+&mul(206,542)mul(154,161)-when():why()[mul(663,226)>from()from()?#mul(320,293)>select()!@;from()where()<^~mul(865,92)mul(834,118)select()#>mul(36,886) why()[>,,))select()mul(777,447)what()};<>how()from()*mul(942,312)how()]mul(810,261)select()@+>)'){mul(356,987){mul(33,198)[select()from()where()({mul(752,594)$why()who()>,?^where()->mul(478,705)why();select()from()when();]/]from()mul(878,617)@who()-who()[&&mul(554,90)#+:^do(), <{mul(978,459)/##[^ ]how(); mul(470,763)mul(342,6):&mul(192,104)from(220,224)[mul(309,253)$}mul(98,92)[mul(690,632)how()why()!>@mul(880,975)~/what()why()/*[mul(663,3)when()[@! )&,~^mul(965,150)#~},%^(]from()mul(503,640)::where()mul(146,66)&)~[mul(37,741)mul(714,547)/; diff --git a/day3/rust/Cargo.lock b/day3/rust/Cargo.lock new file mode 100644 index 0000000..caf3667 --- /dev/null +++ b/day3/rust/Cargo.lock @@ -0,0 +1,54 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "regex" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" + +[[package]] +name = "rust" +version = "0.1.0" +dependencies = [ + "regex", +] diff --git a/day3/rust/Cargo.toml b/day3/rust/Cargo.toml new file mode 100644 index 0000000..293d027 --- /dev/null +++ b/day3/rust/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "rust" +version = "0.1.0" +edition = "2021" + +[dependencies] +regex = "1.11.1" diff --git a/day3/rust/src/main.rs b/day3/rust/src/main.rs new file mode 100644 index 0000000..e305bae --- /dev/null +++ b/day3/rust/src/main.rs @@ -0,0 +1,45 @@ +use std::io::Read; + +use regex::Regex; + +fn main() { + let mut stdin = std::io::stdin(); + + let mut input = String::new(); + stdin.read_to_string(&mut input).unwrap(); + + let regex = Regex::new(r"mul\((\d{1,3}),(\d{1,3})\)|do\(\)|don't\(\)").unwrap(); + + let mut enabled = true; + + let mut sum = 0; + let mut sum2 = 0; + for capture in regex.captures_iter(&input) { + let matched = capture.get(0).unwrap().as_str(); + match matched { + "do()" => { + enabled = true; + continue; + } + "don't()" => { + enabled = false; + continue; + } + _ => (), + } + + let (a, b): (isize, isize) = ( + capture.get(1).unwrap().as_str().parse().unwrap(), + capture.get(2).unwrap().as_str().parse().unwrap(), + ); + + sum += a * b; + + if enabled { + sum2 += a * b; + } + } + + println!("{}", sum); + println!("{}", sum2); +} diff --git a/day3/sample.txt b/day3/sample.txt new file mode 100644 index 0000000..f274bda --- /dev/null +++ b/day3/sample.txt @@ -0,0 +1 @@ +xmul(2,4)%&mul[3,7]!@^do_not_mul(5,5)+mul(32,64]then(mul(11,8)mul(8,5)) diff --git a/day3/sample2.txt b/day3/sample2.txt new file mode 100644 index 0000000..30032cb --- /dev/null +++ b/day3/sample2.txt @@ -0,0 +1 @@ +xmul(2,4)&mul[3,7]!^don't()_mul(5,5)+mul(32,64](mul(11,8)undo()?mul(8,5))