diff options
-rw-r--r-- | 2023/rs/Cargo.lock | 7 | ||||
-rw-r--r-- | 2023/rs/Cargo.toml | 3 | ||||
-rw-r--r-- | 2023/rs/base/Cargo.toml | 8 | ||||
-rw-r--r-- | 2023/rs/base/src/main.rs | 5 | ||||
-rw-r--r-- | 2023/rs/code/one/Cargo.toml | 8 | ||||
-rw-r--r-- | 2023/rs/code/one/src/input.txt | 1000 | ||||
-rw-r--r-- | 2023/rs/code/one/src/main.rs | 47 |
7 files changed, 1078 insertions, 0 deletions
diff --git a/2023/rs/Cargo.lock b/2023/rs/Cargo.lock new file mode 100644 index 0000000..f655c3c --- /dev/null +++ b/2023/rs/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "one" +version = "0.1.0" diff --git a/2023/rs/Cargo.toml b/2023/rs/Cargo.toml new file mode 100644 index 0000000..943e005 --- /dev/null +++ b/2023/rs/Cargo.toml @@ -0,0 +1,3 @@ +[workspace] +members = ["code/*"] +resolver = "2" diff --git a/2023/rs/base/Cargo.toml b/2023/rs/base/Cargo.toml new file mode 100644 index 0000000..6916ddc --- /dev/null +++ b/2023/rs/base/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "base" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] diff --git a/2023/rs/base/src/main.rs b/2023/rs/base/src/main.rs new file mode 100644 index 0000000..af03856 --- /dev/null +++ b/2023/rs/base/src/main.rs @@ -0,0 +1,5 @@ +static INPUT: &str = include_str!("input.txt"); + +fn main() { + let valueified = INPUT; +} diff --git a/2023/rs/code/one/Cargo.toml b/2023/rs/code/one/Cargo.toml new file mode 100644 index 0000000..dcf4350 --- /dev/null +++ b/2023/rs/code/one/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "one" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] diff --git a/2023/rs/code/one/src/input.txt b/2023/rs/code/one/src/input.txt new file mode 100644 index 0000000..2416bce --- /dev/null +++ b/2023/rs/code/one/src/input.txt @@ -0,0 +1,1000 @@ +1six7396484 +1ninehgqtjprgnpkchxdkctzk +sevenmpsmstdfivebtnjljnlnpjrkhhsninefour9 +pppmfmnfourtworxrqrfhbgx8vvxgrjzhvqmztltwo +9eightctkdnnllnine +1eight3shhj8hrglbhxsixvhntf +4rlqzthlhkxvzhcm6 +bklcbpdlfctwofivesqvpxjjzlvn35zhlljrfqf +36qv +76six66nine +rvzrcjzjfour3seven16six +2eightjlm +eightxfcmkqjqxzxjvrfive3 +gxonefivejnvqbgnrjxv87gnlqqfdm +sixphvtnrgdvthreeseven21seven4 +sixttxkjggfourtwo13khgfcbtsq9nbbztfs +m8t +9fourfsrdbvptwos53 +vfqjtpmtp69five +tb17 +bctthnksix4onegmgpjbbxqqrmk5hnfvzcnsgh +2sixthreeonenine5ndxdjgkb +sixtfk2qjpq +twohccqqrfour1zjlqq +3nine6 +2zrstwopsmjmzdff +89three +dnrnmhkxp45onepttcbtwosevenone1 +tztph43five4 +nine4threerrllzdnsprvninezkf +brsnjcr8nineseven3four9 +7sixsevennine5t1five8 +twobhxqznqcft7nhfgcxqfourthree8 +7sixbdbvdnckqslvxh8 +5cnsvq82fiveeightttmnvcm +kptwone34seven5 +fourzx1 +twodcpmrxmrgkeightsix228rmcqf +two9dcfjcjz2seveneight7 +7twoqthpjdxc8xhfznninethreesix +vjbxtseven82vxbzjdsththreeeightg +524one +dxjqvhgtfpmtxjmlt7eight5eight +3mczqpssixsixx7ninenine +8667 +3eight9sgbtdrrhr6lfxbmfthree +two1one8sixdzxqqzlnhfpkdjxseventhree +kmflhtjsnq1six94 +lnrphbmqseveneightk2nine +s5 +hckfhhqbsg3srnzdvm2nine +three58six7sixl +1sixfour717 +4fivenblhmbxfjtwofive +jhmxb1crbttv47 +zcfive7onecgbfqtsgpxzfbtbrnine +nine73mrvdntwozbvninethreemsbcbjcp +qclgtqkmnh8four +twoqmzhp6v91fiveprs +bjnctmcctpzdq27six93five +djmdzpbfzsix1eightone5plbfrone +btcfdlmvrnhqgvmtmn4foureightt3 +7djtfour78 +onetjmpgdjqlnz5two +one5four +5eight27nmlfiverlzjxpts +365mvfhqfhflhtzktwo +two8gqzcgjxtcgxvnlvfx6lvvkbq36 +4srgn95vnqtwo9kfcchklpfvzzkcq +pcgjfvqlgp1663sixeight +pxknxlhdjs7rsjkbpzhtvzd +6one36eightfcqzktwotwombxr +3fmmdlktwoeight +foureightone5cgvdv +one9fourlsdfmbsvnxhhl +twosixkpcrtnhhbb3eight9six +3ninemrntwozvrs5tpbnz +sixsix3fourgrcjqsk51t +71six74threebrdkpfbmjnvpbbm +5sixbptk6ngj +scgttmjzqp6 +335eight +one287976 +5zgzsgeightfourkkcjl +47one1one +7one6fivesixfive +6ktjhbvrtsthreesixfxmtgrvtcntljrbxrxrdpcjcftwoseven +gltwone32vmxmzsqqfhbppvslb2 +tfphzkcxh3twofour9oneightg +gdsrbtslnbsixxdfrdz45 +3sevensevenfoureight4jnine +six5eightthreeseventwolf7 +spnv4six +nrlrqp7qgch5cmbhgrvbtppkmt8 +61four261bxmxxrz +onetwo6nbvgttmkx +5twofour281qhsc8 +seven8one +onexsfivetwo93 +ckrllvdxkgmjkqfpthreefrqjshlplgeightjvxhb3fourkds +nnzbmh3 +ps55seventhreetwo +eightsix67three +2threehcdfdxlkcsixlsgkkqgt +3rjxsxfdqeight81hpr8gppmxrj +9skrxzdvkzzthree4rsfrgpqlonefour +27three8 +pxpslqbbqmzcklvbd4 +eightseventwo6 +nine9dbbcqfhfkrvjb9 +72seven +2twopztmbkbttdglrtv8two +seven87fourtbdxjzktd4sevennine +5qpcvmkr5ninefour +twotwoeightqnjjcdqq45 +2bkccvkmeighttgqjjthreefour +56oneninethreevv4chvlfljbrthree +9sixseven9zspvdsqxzf +4four8ndqjtgllktwo4 +jchmqgp85 +dznstvthreeeightjzcxzsqbtsixqr8 +85ntwonexlm +qtgfhskvonexrg13four879 +86onetwonejf +ztwonexqpckxcz4jpqgthreebjmzxfnvz38nine +one1onekptcbbh5four +dnqcckvxngpndvmm7eight5seven8three +4nine8dgsqjhvl +142rgdnx +mprgxckmzbzvkdsgdjzfive5fivenrsxvhvs +five41fiveqxm12 +sixdhgs6dtnplsix +seven5djeightlrnghlkvjkclmsmlgn92 +ggtdbkngcp8 +one58foursevenbqbbkzbf +nine6fourrmpbsixthreeeight52 +twofjbhnfthreefivesix31 +fiveeightsevenfive1fourfive +prhfhbpzrzghj94six6fivethree +3mffjmjmtfczjhjqnine +sktx9threesevenlxmfkkmseven45 +13jlmhmcnvjzqsnthreeqdslgdlqzlmxgbmvzlsix3 +four7sixktndfcxzvmxx7ninefour +three2nine +7fivezvlklbd +fourfivesrczxj8one +63five4vhklbtqmninemhsfsx5five +3five2six1 +5qsfmsbtxcrvmvhn3sixthree +nine5xvhzlfjpbcc4xdkkps5 +p2 +4tczsttvpsql9seven +x36six83bkjhrsghkvvgtthqtt +8sixfive6 +three9fivekmr +sixone1sixthree1 +4reightfivetvjbsnql8 +five3gtmgqjnkrq5 +jtwodpjqxgthreekrxggbhgbtone1 +fivefive4 +gxlchjn67 +qrlv27skhkmmninesevenqxppzdgeight +72five4 +ptjtgsghgrbffgnl27one36 +sjkdqnqkpqcpp9 +xnggjgg1 +onemlzp1 +gcr74bjtddqvqktl +seven5bgvsknbsdmjqptkfdfour +twotwo9429b +seven5threec +four6mchmrqv +kjj1zbfsnmmcgzn +2twozmzfcxprsxtnrxqtkpknhmbckdqd25 +fivefour33kzcxdhn84pphrnf2 +mvcsbvvg4eight84one +eight8sixfm4sixeight +bvrl21 +klnhdcppjninefivenhdk7 +four5three19jkjc5threeone +jvc9cptctvcrlqsm6rkbvvknbkdpffj7 +threesevengblssstwodzkbv1six +rdzmsdnbvtwogthshznninerthree34 +onejrpznrfft83prbgzczt +fiveonelgjvvhbbdlx42 +fvpjgrtwo7gbqtsslbnptbt +7one1 +h4ninevlhftscfkl +rzrgg7qjfrrxgzctq +fivefmpmdb1 +eightthreepmbzqcqthree7 +sixldscsmfive3 +ninefgztvvqchq8eight +pjtfive8zd12twonine +rdgmgqv2ttz +cgtxczthree5 +5veighttwofour1 +sixjninethreervzgnqqqfive6fqzntfsix +mfzhfivefhsksgjcst5 +fzeight4 +6sixeight3 +nineqnjvxf1one4 +hcxxcxd2seventwosevenxcjmjvmhnv +4four7 +35ninezvfqsixqt2kc +dzloneight3 +two7jbnkvxpnhq +tmljsvlcstwo37six5eighteightgtv +five2sevenqbponejsixvvxkc +9pmlrcsstwo295 +ntbjfpzzslgpnn5fivethreefive5 +72tlfdnjdltstwo8 +qvzclcpqzgfkkcb93 +three6three1xdkn +dgkbxqzjthree7 +threesbjninevdvlhhq572vszh +six2three5 +sixnine9xpmqlbpd +jvrdcf8 +6kpcztn1 +1jbgcthree3eight28lmfhzn +threetwoeightseven6 +dnmtn8knzjjpmzfxvlrq +3nine5 +19two +fbllsixseven1onegqpzqeight7drgf +szrkhpxm3hbcdgrrtg17cr2five +one2onehhplgxctmv1237 +81two4zgltbz +one5c +five4sevenfourtwonvnldmvpeightfive +greightfive82seven +6four9eight747three +lrzgd28lzfljk68sixhnnljtkzkp2 +vone6sixvzzzkmm24zzjskvzv +6seven2 +cm16one +6mqxpzlxhone +2teightseventhreefgksfourfoursix +3vtqlzddlrbpxmnjqntwo7fiveseven4four +32ftslmt1ninejtdxnine1 +one3sixfour4gxkchbrjzf +6eight9threetwo6onexcqlqfzfive +onefivexnjnfc1nineflckgjzsix +59ninefoursixfour +7tqjdninelnfthreekcdxfqzcl9kmvjfvbrm +xjbseventhree86eightlpfseven +cbzvgxfkgneightfive98 +srsdrninevpzgrhrqtjfour7htbhbjttb4 +hdmxvkcjdjninebzvmsgsseventhreemhggmhgg11 +four32ninesmjgblfcfmvlffjtwo +kdx7pd3pcvrsjkczqeighttwo6 +one2pghjsggtlbxslmthreeqgcskttvrfseven8 +gcglgbqbxzjrpxjzvseven88 +eight1fourpglqv +1twoddkk2fourseven4 +ninejrqsksqhtl9ptd5 +ppkeightwo5ggthreet +7onefhccblsv +eighteightmp6fqrfnpqjvx +bstdjfjmxjjpz12d +mdjmpqvhjzk616threefourplr +7seveneightsix +nhsrvtwo37ninesix +1one6gxkknfmc2oneightq +8dfflfour36 +37d7fmzkzztwo1 +6lmg2qmcsix7r +seven889xt93 +phbhqftdvvkssxktgnc6xdcdxlxzfneight5 +2s593xvlrdmjcz93 +rsmgvm4 +eightgmgqb1 +35qfqdkdtgrvhdqdeightmqjlvlpfvzjrj +748 +kbmpxqnk61ncthhtrkpznbxzfbpninehmhlbkdjtjxtx +foursix4mpfoureight1 +6fzffnqzqb8tsccfour8 +gzsxrjkcm44fournqzpseven +1243 +2threeonefourtwofour +ninefhnr649ngld +fiveseven8 +ttwo5three5ninefxsqxvkhzxzrsr3 +kljvvxlvpctfz3seven +jkh8 +9sixxvfnnznttseveneight5 +92eight56onezpvrj +chzsx4 +53fivetspsfive1fivenlmtvbl +plvcvn3brcrcqr94six5 +cxqnlbplone97dgpjkkvfsksix64 +eightlcsjrkxeight4qbgjffmnxlsvzcdsvbl +4ghbljhttp36 +ninerpztrhv12 +threeeightthreeoneeightsqdknqlf2tg +tbfnine8fourfivekllthreebsqjgqpvsm +6oneone +eightsix2seven +t8fourtl +6six76eight +ldfkqkgfiveninerqsrscftpv57oneightr +vcnfvftwo43 +kggflclnzjjvxkc5 +19five1twoone8four +77sixkzrpkxpzmgd +12fivemgxgbpz2seven +582gsvccszvk +fxtsdfrtbsgplxlqffivejtnsk9 +kjhkjvz2dcxs2four +3twoseven886kr9 +seven49 +611mllnqfqlnvone4 +18sixnpdcjcjpm +hvs9fivethree8gfdjffmfour +5two1threerkqxvsevenhmh +qpkdnine9fivehfiveseven +jkspcmqgv5 +2vrbhsxmp74six2qcmnpsfffnthree +zqmdtrgktlvbjlsxjf7677jqt6 +gxmtsevenddtpqpxhljoneninedjvhqhftcpb9 +qqxxbhtfmpvdq4seven2jscgkqkj6 +61365q +gvztklvxtwo8kmdlbzxglf +ninepxtd1pbcxbfhkvtsix +6cssbfstfbspvx +rdkhlqrhmj7fourbpbrqxmbxxsnthree8 +12th3rlnqgpc +4szrvgbcbg6dpsjzcdvgone +lfour4 +5threefour63qcvhpdxb7rmsdkl +4one452sevenfour53 +nine5gfourfour5bttptfq9khknptfrbc +348fsvvfk +one6ttzlkfxc +sevenmksqtwocthdjtkhr95nine +7m3jlqrqb2six6 +lrqqznf6nineone46 +slpgjbslvtfgxsmbgzksevenfive4six +7jvnnqc2844qfzfour +64four353cpm +three9fivejlkxkzn +vcjbnpqj7plgbdblvgp +twofgqtzvspzjsxjkvrbs8fourgtfznpjxk2 +seven44fppgfournqzmgfzfone6 +h2jxdpkjktwo +kdkoneightjstgn9 +7bbfsgl6sixdchgpnine3 +nqvqmzxr86 +3dpntnsdk +6ninefqblshpxvteightnbqzfszjndvzksfpsxone +59vztmq2three1 +nine9sixhnfczn +pmkm3ctrbjrdninetwoneqzj +7znmpvqonecmmdcschn +5five5ninespthree +4xhmkgkmtgrtmrzrkjmgjsixninefxxxlvdknsix +7rnlfspthxjvlcs7nqtggmninefive8 +5fourfour76gpseven +two9five45four3 +5zhvmrbccf9fnsfvb3 +3hcrhfkkthree +4xlgzlhjceightqxvsix83skhkkvzbtflbvvt +six58ppcxmph23lbxhvqmnnxheightwoklg +ninerbxxxtl4 +4dvdjjfmhlfnzjrd3ninelrlhdpngvfdvdkjkbrone7 +vpqtgkkdgqklmbc9three +foureight21 +71 +7two3kcvvfv +58vtsnlfkbt8czjb +6threebmncseven8nx8 +eightmgsvctqb6xslnsgl +32sevensixmsppjkzrgqtmzvpsrljqssk +85l94 +nzjqttsevenmrfzzv7 +threetwosctspxzjgn5fivefour +2six8one87ppfhpqks +eightzfjfccdcvfiveone84jf +eight81eightsix5 +foursrkldsthree5fzzmseven +7five3threet48 +4twonelc +8eight6t6 +qfheightwo43three785 +two8cnsjshfpff4threeffqk +4dxfmd46 +7grtxmvhcl849two +five4fivefive7 +14ffour +92nzsk +13xmgqq9eightnptsixpvpntzcjn +29eightkpqnfour1jnine +4bcftnzdmcgvrczhzsn8dlqkzngjc +1pqmkbthtwo7 +kzcsixxcsqmczrkjvhv3ppt44 +eightfbvplm677csfzfncptflmgtrntqcpptj +fiveeightthreethreelvp1 +dlvdhtvqvfctfl8four6vvrkgqddd6 +msgtg12mgqcfvgxlgdeightthree +qzjkz5196fivevxkpvngfxrfourthree +seven4nineeightjsevenngfourfzdx +9fourjbone7kmsc +eight43nbklgg +ss4c +4eightsixglkqpjtwojhxmh +sevenfzrqv9mvkxgpghtc3one +fk7fsgndcrthree +7194czfive65 +9nineone +six5djzqbcdncfour7 +zceight3two4vfbmtfbh84bhrpbndm +7trqzbdjqeight4sevengzzsixjfkf +two3twovtzghbdcmc2 +ninehrrdr1 +3nvdvvjhxptsix7nlbdlz2 +zdbsxpvbkfivegsndfourjftnlb43four +smgqrnbzd3plmsngdvz +lplz67 +2pvqcpl2 +mvhqninetwo2 +1czljdtxnz +threefqqs696fivexssmqvpp +xtggzdrg4jllfkxtvv4xqlvtgrllseven +ncdxmjcfllr3eight7 +3ftjjnzthreefmjmshdd +7jxs753four4 +8eight54six2lxfnmtndgk +54sevenjnlnlc4zvmdd71 +threebxcjdpprthree3qnsfqgbcsix9cbhlnvjdc +ptvdrm5vzc +8twolsxsgmzfqfivefourqlcpzggfm +skjzfblgsl4five +onesix9eight6 +cnmjmkzmml732 +l5one +fivesixclsxflmtml1nine3bj9 +5zqbxz56lnbrntwo366 +89seven +eightqpvztnrxxc4 +svbxfssmfsnflkbzmqfsixdzfdlgeight31threeseven +tkkb2twofourvxcs4kgsvgkztjmseven +25qcjkptgbz +twokjcthrmnsrtrkhxptwo2ncrfive +seven92three1hnlbhzrghxone +onemvghbhpzxdhsssbms3sixnine99 +qgtwone3sevenmkfourxqvvfive +lq141 +gpvtdflfive852four +gdtwonekpfhtmkfseven6rqonesixtgdxttnjzc +seven2five6seven +skdxqonefourgrp6 +djlninetwo7five23 +hpxqlmqeight2 +8sixeight29ninehfnllkvgeightwomp +326kvfsnb +eightfivetwosixjhjkhjtdpx4 +mtdj4threemtqldccqhffive7pgnrcqpfive +seven74grtdbl29four +twonseven6 +sevengmtlhxgqcbrjlhgzs3sevenkrfl +28zmfvgql +geightwolnnmmhczzj1p +hkbknzsbgpfourdfrfdxpqlz2seveneightseven3 +34bbrjvdqszqgbkndxsz5four88 +dxfhkfeight8qsix4five +xsnfslsc5one4dnrsxlrklt23zhgknhjrd +dgkrffzctzpk9fourdvmgnbbnfbt3 +jbfkcm5sevensixpkfnqqgffdvkgmjsbpkpqvsixjrvm +mckpzdvnlrsltktbgeightjk6xvsfmhszr +1one46three +77eighthgzqqg1 +threechgthtshpqnxsixmzqqxbzdtwoeight1five +ltnkv3186eight5five +fourncknkmdvfpgtdkqlxone5nine8 +gvnvsxrfdcfivekfcn9threebsxdsnbhtwo5 +89nnprfkrhrmfdzqssdjspvzzpshnzxsrzctwo +3sevenxhnlcgkjnccgbrnfhzc +678fivedvtdchqsevenqrmvjqlq5sfxnqj +xbb3 +3d +81sevensix +59sixg +3foursevenone +four6nine48 +6lkhqsixnnhsjqeightc96 +sixfiveeightthree9nnvsgmgllbqvgjpqhfqtznm +sqgxfourninenqpgx15fiverpk2 +zlr8fthree +jnztj59 +5eight13fourjvxfndzptfnjpqzlb +459zpnrzbxdsplpspnh9zbqvdnxgdfour2oneightmfd +28twoddhpqzf7 +6nine2168mcgnmc +4fiveqvmd8157 +1sevennine8793kxkx2 +sixrbr6ninemdmsmjrchbvhvpmmsfphtslll3 +one2qcrqhbqnine +rmrbtgfkd2cbzpggbp6 +797fbxjbb +fiveonevsv2four28 +six9sevensix +7nxztt +three3vcqrjgjndsbxpvclvg2vsv3 +22rgm3 +jxrgtsdzppone5twoj1sixmrdxrsbmf +44fivefzkdrvrdp3hbmp +17bgrjbxone5vvnztxhpztnmvtworzmc +keightwoonethreefourtx4six +2threexlsn +8ktqbzfninexpgkppg8 +295hcbbnineone7qdgcvjzcs +hjshndvhgz3bjh4sixeighthvxmdtkkbgqbsdxg +8jdnprbkmxttwo +fivetxhgnjfkhlxgts2pqrvjbscrq8vqtbmkrpxlkhvkff +njgkqbnkmdqjqldmpdfc1mjqvm2eightxzlbcz +2ljrbbmseven +xmxqpchds889fourpnzfdljvfltwo +six4jvfnfsfjseven37 +ddbgmgseven3ninefourmtlvkxbrnvnjdfspjffour +5mkjjnine6one +7fournqg9xvpfh +sevenfourone659gqddprfrqg4three +twothreem382 +onetwoeight8kqbtmbdhc +817onefour +8gmxjzj +bckmc3four3three +746cfhl4nffcksqlonefive1 +five338 +five4bzkg +thltwonefour9nxznrcfbx52onem +four5bzbhzvmqqbhkone2three +seven4five85sixcf +4drchjthree4 +sevenzsg9vmdjcgsvvxz32fiveseven +hjnkgzchqfjfnfv3dxbxn4 +76sxzjqfhpc44 +72threesevenknkbdhqvkpcxvhlldhzdkone +six4srtzrmgksrvkjktchl +sixvnhlzfivelppsevengbndbprhn4 +five1sevenstpfjpbg4 +3ztrhnxkpmh +czpbffqlkkjdfmkspxvfrqrgn4rfmzvfive +fourthreethree1nine5ninekgqxlhvtlr +4tcjctphneightptlqlvxmfkb5 +cvbv798pzrzmfivesixqhxdntdtcq +6jkqptcvrjdnqtkblfour4ninedv9two +four51eight +3two9eightlbvdcrxkfive +3six5three +3threesix65seven +3three8two +45b9sevennqnmkmps +7threefourseven7cmtmnfive +6six8seven4four66 +sevenfour91sc6sixghqhfmgcfour +ninelmcxtwo4hlstzlf6 +six45fiveone +seven9sevenqx3vtk +skpsxhnqsix3one +vzveightwo5five2sevensevensix +cd9nine23ngrcmcxtd3ltpcn9 +vcnfshkpone72ldgtqonehjq +cgqvcjnbtwohkmcfsvfr82nine9 +8one75fouronedklf +3fivenvnhlrthree +369sevennine9twofour2 +ninevpbmftmll57fivedjqpxnpcjfour79 +71rcpfnl5 +psixzxslfrmxdkcxvthree61npplpmrmnkjnvloneightfl +42six3fournxkjcdslp5ninetwo +8frbrhghpggq2zxjhrqdssixfivefivejrbd +foureight1pgsbkhkjnz78seven66 +sevenfive4ngxfivezs4fcvx +kxjjbcxx6qh5jpzkgml +7gmgqrxt9fourk78hmmjt +nineseventthxmrxdsn91three +seven1mbqn8fivezpnrpjbpsx22 +2hfvqkeightrnscdeightglb +onefive7 +heightthree4qdnvhxbzjpd7vvseven +ninengrzsztmtnkjmjmzqqqpcbx7fourtwoeight6 +sixfbrj7two83 +eight1vnqrf9zdnineninecbfcj4 +chsldbpnmxlgbjqbpkh34six5prb +zrjjtlnc66271dssfour +3zsdjzpqtwonec +eightclmbz3gphlxeightwov +5cgvfive +fivenine54five9 +64ninenine1371 +rvxxeight5rmd8three +3fivenfhskrlzcrcdxjvsmmxfiveone +sixpmpx7jbdone7qldr2hz +3two8nineone9 +6sqdqv +pflddeightonensqrchsrsixseven2 +threesix2sixsix2 +5594zhlqbkfmmplvcclxjcgngmfrbsrxbfn +fourblpmgmtxltjdmrlmdfourf7bdjllqsbh +4twooneightf +fourjvddcqsxbcrjthvcjjshbngkrfive4 +threethreefbdvxfksrsfnrk42hptbr +692nrjhjfpgg4foursevenlgm +fmfbd6pcqff93 +gcdgfourbtttvlone21three +onejczqmpbrjqmljmchkmh77mnzsxp +cnpfc87three +2one4 +hzdpmxflk1581three29 +97tnzqknz15bxttzrsix +5eightfive +894six675 +fourcqmgpdsjdjcvmgtsevenndfkgrnqbp6fourfive1 +fkhfz1kthreethreejndpdrjddnvztgt +tpn3threemxtdkfphvctwohklcbzdn74nhhfjr +5fourfour +six8twoeight163mrkvvc +ninersix8 +1twofivesixkbpljt +67nine11tdnplxklxkdbxffn6 +ninesix9gfive7jvvmcrnine +2bvsqxbd7drclkbxrtnine +gtrmtlzzsixjxqhzxcdqppmf45two +three43threefdmsjxxdvkthree58tblfvxx +one1365sevenjzbgtrjtlc +1twosevensixnine4four2 +1fourfzone7 +cpzjzkjzkksfzv96zxfzhfzsvslbmqdshdthree +191kbfcfhtmgbrnfv26chh +vfcqrcrseven3 +nine51 +twosbtkk21 +8twopvmrkntqlzcth9twozxrfvgmfjtqtt +sn286four1tv +xqzgxhlzjh9vnjvjcj +three24lkqphqnxmt996mhcqhpzksn2 +4vpngckh +seven3v3r1eight +one9kxg +twofour4fourjcqjznsv +mnine5foureight +fourchqtjtqonesevenmb319 +17sixqxxgnine4 +1srrc7 +8mzhtnhmshfourthree1vonet +qzppxshxfninesixk13 +9sgbnnspt4seven2248 +seventwo6 +687541rsk +ninenineeightmgpn71five7five +eight9twonineseven4eight +ninesixnszfprlcftgcpcxdfhxs5eight +xxthree7n +tworxtcqscbc6243zhcd +two636nzhpbslxhrlkxb +six7nine +78five6one +98twokpxjvkjbxxfourlfnnttgqzh +7sevendzghjfczcmc26tkshcfhrhhzxone +fivethreethreenhfrtdtg7ninetv2fggncj +prsptrgmtbkxvrpsix39mqqbnqf4 +bctcqqqjtp2jshldz +ninetffzllkztqvtm9nsbfkbbfteightsixnine +jvvcsrd1657nine +8cbltrdfzdeight8lv3q +lnine3ninenine8pczjsj +88ngpzzzvzrhqxvzcdrrln3nine +qtrbmdqgnggmjqxbx8nine1sixfive +477 +tckszrqktzrbc3one5 +seven5seven8mfzfzvrm2sixone +zl29fourone +lzctr93bmrgsixppljzgzrvh8 +fivegqcx4fourninefour +6tmjrtfive6nine7xoneightgxv +9f +r4fstldg +twoseven7vjjfgxvq +dkpxkqnq9 +kninefournineseven5twolldkfrcjk +2kfbdbfqvkqvtjleightsix +nine7gn3rphbnllpq +five12 +ngpzsjttwoninefpgt549 +2mdqsrrxnhn +twotmgtbxqhx2dzzjlxlc3gdrt4 +7sixldnkf2four2bxjv +3nxdsdnschqpjgsbghtl65mmbsxklqr9eighttwo +doneight542nsglfmbrpzcgx2xsixnine +7ndhvcpcbncseven1 +dxxzmpdbq33five +xhrfpsgdh3fourgpt1sslfnt5 +dlddczbzqchdfhlnnrqcdn5 +5eightthreegbqgpgsevenfourxjvzthree +4rtplhnine +twotwoonenine3 +six2eightsp6 +mtsixtwofour8vdfr7bndr +grrtbdjtrcfvnine7 +jtzhfqsvxthree6dqcjgmj +83seventhmvgvdrx7 +957six7crlxqfdbxnjhpxkstktspl +twoeightfivekmfdrttbbtwo4kzcxksbs1xsnm +8eighteightfoursixsix +eight1nine +3xdtdbq +fivepthkrnlls63pl1qhf +674fszvbrtskfmzs +jdghpqtwosix52hggmrlkhqsevenbnfdckqgr +9two89bvckm7sevenzkdfclktgc5 +twosixnvqfgcht9656three +vsktxrbjgt4zxffxftwoeight21four +twofiveznfzntzteight838cppl +18three57fourseven +rnxbcmszgbeight5 +twozpmknt3threecjzbcvtwo97dqzkmh +2fournine +tvngfkzgj6sixgbspfpbgzmrhlb7 +162fivehtvcpsgmxz +695dcktwo +fiveseven5jzlcvxctcf +3klrsxtgbjttwo +seven17hkhpbdtonevhkgvhrzxbsix +3twos +cssixsix956xggjfzs +threetsrrchdt62cmzqzvzh +onefour3 +sixzxbbplldcz5dgtrm196three +2onejstvfszgtwodclflrrdvr +9zgkcffscqfhxvlm7sbtlckone +xvnjnvctnpskzzxfl511jfkhtkxmjcdjxdxvrnzs +eight73mfsevenjjneight +ninehfqxjhsmr6foureightqptrfcvst57trlvnkfh +ct562pddspdjseven +hxcslbmf9453 +seven9f2bcftjdb4hfxl +eight397qjkqvthree5dxqnrk +nnhdtvpvk1two +lp432sevenone56 +mh3sixxdnpthreesix +nine9oneightgl +ktdfxvzsvhlr85tthree4 +onenine5three +lggrspnkktfoureightsix9hvtgcrltthnkjk +1g +frbphfseven1rhrhxfdzctdqkctjpjknqr8 +fourfourone2seven +fivefivegknxfmggnplhfhbpjvlnpxlzoneone4 +gzqthree6ldltpkv5krjnslbxsmrvqqvgkpg +ninevrone66 +tjsxlzd995sevendoneoneeightwod +threenstfpninetwo2 +2827hsdrnndt +zeightwotjnftwoonebzsnkghseven2 +7twoneightfourseven +6kdqzbngsg6eight +hxvvvrtqkvbmprqjvvsevenone9 +fourfour2ninetrhcqs +sixvzbd53 +mkqpshhbxnsfbfiveeighttwonvxkm4 +two6pnnzxhm8kpdkhntlpqzfqlfnp +fourhgzrsplfcmjflrf174 +fivefkxrdrfcr4 +pqgmrvltcgphhcz55 +ccrqsztx6cpxsdvjsnsevennhtxbkm +27twopnschsix79 +9kvonekrjkcxlrhvgxh +7rdmxdvb34fivevn69mnhhnmtbmn +vdvttfcfdqgzpninetxbtrjkfbmninetwo9z +four2three +67vjzfsevenfivefour6rnqlv +jhqkmhpnv7 +sblrrklj9twofivevqmhgjrvqjzvxqqrxqnch +5mqgbgjbztvhsixpsmmtqr +kqkpd5eightrhzmsnbsn2bpflnhtflp +dtwonerpnzkztksvrnrjktpdnstwo9hzqlsd +xqlsxtfshhgqtzzsfsdnknkfv4fiveone +fourfive64 +tprjnvfeight8jf +ltvghtsvrttnhcvkldvttrpjfxrsfkscnine8ltrbclsjfour +8eight2jqrscqbkcxcone9 +57mrgvrsrjkttwo26hrhlcckgcjqppczf +84scltxqgqlpxxxchmsevenlhjgreightwozs +xhdhbqzzctwoxpqrvtwovtrmtwombvgjmtb1 +ninelr5 +heightwo2 +onevbjvninelsxlbgjqmtwojc6ksx2 +dqsblgrckb6dgzhkkeightoneeight5 +2lmrlthreefive6 +9rgdspmxqj4ddzbn +ninehgbsixpmgjq7pddxzbvh +pnbvrppdh8 +xfpnbsjjnfl7lnm +cldxp9qs +cmnoneightgkx9eight +1fbdf5two +six3eight4 +8three2h2 +6eightzjzhdnffnrrkbnvjlpn9seven +7dxt +dgqhqxnhgmdn9one +4fourfourbmv9gplqbjgqjdsixsdfsmrdh +8ninevqzzkgctwo4three +kkvkfivefive197qeight +djblkcrp5btpnbbvbggclpmbfbp5hz +nine59 +5onex +98f71ngphthree +gs72xdvbn639 +nxdqfour11six8 +9dzjtskgmztkgzqsfvkljfeight +bddtwosixtwo4two1 +5ninehqmqcfiveqlkszqpsnf +qjnfour84hlzgk9 +8one13twofivelgdlzxtwo4 +sixnrsnxdpqseven3onefour +tnine15nine9 +1sixsevenzxzssq3five +vgmplmbqp6 +474dkjqxponehrtzhcdkpjsixrfrhgsmpmcdj +one7vpjbptdczcjone9threekrnrvhsjseven +vtrdvvhr4one8lmp8five +seven7tjxbfourpnk7eight +two8fivefour3dcpfkvqqk3 +onefivecm7seven7nxtdbxgv +2tbrjrxkcdxeight7lbqprjkv +nine9clgppmjqbczxgpm4qjcktms +ffqdvccvslnine4mpznnjkxp219seven +tworcpjshxfnf23vdvp7rzjfhlgtlf5 +xc22fivecpxjlskm +8jbrzjroneninethreefivevhpp +lvvcxptngphhgfbvj25eight6sevenfive +52fpkhmsnfivesevenfivefiveksxlnznzsngs +threeonefourseventhree92hrmtkprxzrrmrhc +kjqph5mkhglseven1four +rqninehxvvslkzl62foursixxlbjnfhgnmzls +hj2eightpninefour3 +8nine1 +9eight12hlsbhtsshzrthreevzkpcnhkbg +twosevensevensevensixbtvdcdbhkqjlnrvn8eight +pjpzmzqgbthree3 +7xpdxjpq71seven1one +7chszctznine1 +gprhvmvp4 +twoone8ninetxmhfhzveighteightthree +eightgccstrqxjh7 +qcnbcfdhnine3qfbsxbsnhf +mmsfvcxb6fivesh +7mzzppcfblnrxkk +fourfournine6five77 +zrpkzfivegkfsxcsptjvsgvdsjfgvrn83one +fourninetwo5nzp9 +vpteightwo2eight7vxvlblvnnskqzdtp +sevenbfdjs36zr9791 +ceightwo8nfzkthree +twocnjmjxznine9three2 +seven4qxznjddnvfivesttbbgr5six +46fourvlgnzfzt +psxcxreightkqggjj823sevenlhvh1 +ninethreeeight9 +2glvrxgflhjbsfivefeightljtdg +fivenine4 +52hgone +33fhspjthreesspqfnone +srkzqmnqgr1 +gtxxbfndlssbntrnspdptjkbdxgpxgd9nlddsndjzmq +zjxvbmjbqjkdgdghplk536seven +sjdgghzkrr4rvvfx2 +4eighthxxdksdtr +5two9xlrbndb8 +7twoonedhdtkqj8pgcsvjmzm +76threenine2vjrcmbf2six +sixtnrf3nine +nine3onebptlmfxzhppmsprg88 +sdvmxlccfjqrdzjtxgsfour5bt +sixsix53f33 +eightonethreezrrlslcvsm92eight +9xfs162pmvbzzkjjksvqpcqlcdtjdrt +four93sevennine3 +sjmoneight5349 +scdjfs2ninesevensixnine +four38rtkvp78dbggkmbfhzeight +seven56trjmqvk5three2 +qlnbmvpmdspthree5bmcz +sixxsdb6lkbrhthreesntwo +five24 +eight6sgbmspbj5qrzconempkp +7nnzmtn1sixpplhjblfmknn +67seven629 +8fourfouroneightr +73hq186onecmlp +sqxcqvlsmqj12 +vsdztxsm837twohszjzcnghvng +6lmkngcrthreefourfivefourcfbkzlbkxlmcdzvg +onesdmsixpqdgxhhpkqxts2 +threexcfjj6 +tvgsxk6 +jnhtlnbr1oneoneonefpkkvpmj +jdftkkjmqbtxcfpstfxseven5three +12twocjlqvcqthhndseventhreefive +fivesix7four3 +7rshgk6ninevlkrt6pjfvrspvljfkf +bxjnbmgvnpsxjxqz7vkjztwo79seven +threetwo46two9bxrjsbzm +5twozhqnbx514eight19 +oneseven2nine7nine1eight4 +five9threekpstk +2five3cxlrbtfivethree +ljrhhfhgj3fiveeight571 +65threejpr2two25 +3five1threekznxssgt84 +698458 +194f +hxxpzlqtkninethree89fivejdthree5 +frhzzhggn2qnxqklrtrvvdhvnhfkml +4lch748threeeight3 +six919mkvqrbsnreight3one +three7five7seven +threetwo3 +67five +sixft9 +nineqrh4 +mvtwone57hone3xntlkbktdcfxjhm2fsckqbcbqx +nhzhqmvvkgfourbnzrfnm5sixfivedmfqldqqzptwo +7xvmvpddlv43hkvgprfour28 +brlblxt2 +qqxtd9seven +sevenoneeightsixrxvhnx9g +5tjpxkgtqxn3ltnht6 +sgnfscdnd52twozg +fivetwo5three5nine3fourtqdfnzgn +66mglqh5vsbqtthdbtxpztnskf1fv +xlleightwo72tctrvxfk4one +8fivedrsmv1mrcszrkjfscjztwo1 +4eight92twolpbdfivecbdnjzs +pgfftmjxqzrc7sjvssvbx1ldkjp +ldvjjqgjhd9four9eightpgddrrc62 +9fourfourkqgdf +five4eight9xmkzbqvtgthree7chfjlpc3 +12bllmj36 +mjqhmqnbhjtbxkrsrppeight2dctpspsix58 +twoqblpscffvrflclttck7 +21twosevenvpkzpmq +gvmtwonineseven6 +twog26sixnhgnqmlninetwo +fivefiven1mqxsevenvqbkfqsrtmghfxtpsrrd8 +five8oneeightsixtwocfcdgmrdsstwo +vlxxnmnineqxnsixtwogq5 +2eightwos +hs4qttkxpggjtxdbzfvcd8onervnfh +lmc9 +4nine1fxmkcvllvfivevqcvflgnqntwo +73cpgmckj +four7four92lfqkmgponeightbf +eight4fseven +two3sixfivebdmfkhbngrpj7nfrmj +745twovchzs3rgctnrqgt3chslcd +bgrhrgjbrtqshcg69sevensnbseven +six6sixzhf +9fourfourthree +9f93ngbbnxkpt1 +fourfivesvpddkvmbchdjggrtwo7 +7fourbvdtdrrxlsixkvsevenfstssflone9 +eight2ninetwo +nxb9five3 +one7xvtwokqnfxp +two777vrlcxfsmrcnine576 +xxhmbpvr7vvppfreightthreefivefive +pcs3sxdgvtwo3 +fivegpgsfjhcg1eight +nine8fzqgffnqrbdjsgxskcqxz75 +tsvtwonerjmgtbzng9 +6xssgdfxxssrfive +2seven42h967 +63zzmdfcjtxtnineqjncktkkttjfrr +7eightfjphdvgs4nine +6dxbttshgcvfngclmhvbzfeightnine +1eightkgqtwo8twotwopss +46two +34t65six +vfh4zteightkvbpps4rxhlnctjztjfvdvdxfk +9zpdnq +4klxpvncr5 +dsjmjbtvhv1fskzhvfrtc44 +7two5 +3lnksqznzh +five5four32two +llkbrncncr5nvsmbrzdnine6 +nine57 +7rdtplhbvddvlkonefqsttj +four6mssqzhgxt +gphnqxhlhzzftghk767 +mbcbpjcsnt4six +one9xmhvzklmzffive1kcsixmnsbm2 +1dgschj +nine8foursnczninednds +9sevensixrsrgmclkvthkgtxqtwovtlxfrdnllxvsghslh +seven443six8three31 diff --git a/2023/rs/code/one/src/main.rs b/2023/rs/code/one/src/main.rs new file mode 100644 index 0000000..1b04f08 --- /dev/null +++ b/2023/rs/code/one/src/main.rs @@ -0,0 +1,47 @@ +static INPUT: &[u8] = include_bytes!("input.txt"); + +static NUMS: &[&[u8]] = &[ b"one", b"two", b"three", b"four", b"five", b"six", b"seven", b"eight", b"nine" ]; + +fn main() { + let valueified = INPUT.split(|c| *c == b'\n').filter(|s| !s.is_empty()); + + let calvals = valueified.clone().map(|s| { + let mut d1 = 0; + let mut d2 = 0; + for c in s { + if *c >= b'0' && *c <= b'9' { + if d1 == 0 { d1 = *c; } + d2 = *c; + } + } + if d1 != 0 { ((d1 - b'0') * 10 + (d2 - b'0')) as u32 } else { 0 } + }); + + let sum = calvals.sum::<u32>(); + println!("Sum of Calibration Values: {sum}"); + + let calvals = valueified.map(|s| { + let mut d1 = 0; + let mut d2 = 0; + for i in 0..s.len() { + let c = s[i]; + if c >= b'0' && c <= b'9' { + if d1 == 0 { d1 = c; } + d2 = c; + } + else { + for i2 in 0..NUMS.len() { + let num = NUMS[i2]; + if s.len() >= i + num.len() && &s[i..i+num.len()] == num { + if d1 == 0 { d1 = i2 as u8 + b'1'; } + d2 = i2 as u8 + b'1'; + } + } + } + } + if d1 != 0 { ((d1 - b'0') * 10 + (d2 - b'0')) as u32 } else { 0 } + }); + + let sum = calvals.sum::<u32>(); + println!("Sum of (word-included) Calibration Values: {sum}"); +} |