From: Mart Lubbers Date: Sun, 2 Dec 2018 09:41:17 +0000 (+0100) Subject: 2.1 X-Git-Url: https://git.martlubbers.net/?a=commitdiff_plain;h=0f6faf91b4d2febde9cf1156a41b4088efe3270d;p=advent18.git 2.1 --- diff --git a/2/input.txt b/2/input.txt new file mode 100644 index 0000000..e3e528f --- /dev/null +++ b/2/input.txt @@ -0,0 +1,250 @@ +icxjubroqtunzeyzpomfksahgw +ibxjvbroqtunleyzjdmfksahow +icxjvbroqtinleyzpdmflsahnw +icxjvbnoqtunleyvpgmfksahgw +wcxjvbroqrunleyzpdmfksahge +icxjtbroqtjzleyzpdmfksahgw +icxjvbrohtunleyzpdmfkbahsw +xcxjvbroqcunleyzpdmfksaxgw +ycxjvbroqtunleyzpowfksahgw +icxfvbroqtunleyzpdmfksncgw +ixxjvbuoqtunleyzpdvfksahgw +icfjvbroqtunleyzpdmfksadgt +icxjvbroqdunleyzpdafksqhgw +icxjvbrobtunlelzpdmfkuahgs +ujxjvbroqtunleyzpdmqksahgw +icqjvsroqtunleyzpdmfksahuw +icxjvbroptpnleyzpdmfksangw +ipxjvbroqtunleyzpdmfesahgi +icajvbroqtunltyzpdqfksahgw +ickjvbroqtuzleyzpdmfgsahgw +icxjvbroqtunledzpdmwksahgz +icxjvlroqtsnleyzpdmfksvhgw +icxjvbroqtunleyzpdsfysahvw +icxjvbroqtunwnyzydmfksahgw +ionjvbroqtunleyzpdmfksahgj +icxjvwriqtunleyzpdmfksahgi +ocxjvbroztunleyzpdmfksapgw +icxjvbroqtmnlewzpumfksahgw +ucxjvbroqtunleyzpdmzktahgw +icxgvbroqtunleyztdmfktahgw +icxhvbroqttnleybpdmfksahgw +icxjvbroqtugleyzpdxfkeahgw +acxjvbroqvunlexzpdmfksahgw +icxjvbroqglnleyzpbmfksahgw +icxjvbriqtnvleyzpdmfksahgw +icxjvbreqtunlakzpdmfksahgw +gcxjvbuoqtunleyzpdmfksawgw +icxjvbroqtunleyzpddfkyzhgw +icxjvbjoqtunleyzpdmfqsahhw +icxjvjroqtunleyzpnmfksajgw +ycxjvbroqtunmeyzcdmfksahgw +irxkvbryqtunleyzpdmfksahgw +isxjvbrlqtunleyzpdmsksahgw +icxjvbcoqtunleyzpdfkksahgw +ixnjvbroqtunleyzpdmfkqahgw +wcxjvbroqhunleyzqdmfksahgw +icljvurmqtunleyzpdmfksahgw +ibxjvbroqtayleyzpdmfksahgw +arxjvbroqiunleyzpdmfksahgw +iuxjvbroqtunluyzpdmoksahgw +icxjvbrmqtunleyzpdmfosahew +isxjvbroqtunleyrpdmfksrhgw +icxjvxrpqtunleyzpdmfkdahgw +ichjvbrogtunllyzpdmfksahgw +icxjvbeoqtunlryzpdmfksakgw +icxjvbroqtcnemyzpdmfksahgw +icxjvbroqtybledzpdmfksahgw +icxjvbrqqtunleyzpdmfksgngw +icgjvbroqtunleyzmdmfksabgw +icxjtbroqtunleyzkdmfksahww +icxjvbfoqtunleyzpamfqsahgw +icxjvbroknuyleyzpdmfksahgw +icxjvbroqtujleyzpdmaksaigw +icxjvbroqtnnlmyzpdmflsahgw +icxjvbroqtunlefzpdmfsfahgw +icxjvdroqtusleyzpdzfksahgw +icxjvbioqtunlsyzpdmfkshhgw +icxbvbrodtunleyzpdmoksahgw +icxjvbroqtuvleyzpdmfkbahmw +iyxjvbroqtunljvzpdmfksahgw +icxjvbroqtudleynddmfksahgw +icxjvwroqtnnleyzpdmfksahgz +ichjvbroqtunleyzjdmeksahgw +icxjvbrostunluyrpdmfksahgw +icfjvbroqtunleyxpdgfksahgw +nhxjvbroqtunlerzpdmfksahgw +icxjvbrothunlexzpdmfksahgw +icxjvbrzltqnleyzpdmfksahgw +icxjvbrhqtunleyzpdmfksajgy +vcxjvjroqiunleyzpdmfksahgw +icxjfbroltunleyzpdmqksahgw +icxbvbroqtunleyzpdofasahgw +icxjvbkoqtunveyzpdmfksaqgw +icxsebroqtunleyzpdmuksahgw +icxjvbroquunlpyrpdmfksahgw +icxhvbroqtunjeyzpdmrksahgw +icdjvbroqtunlzyzpdmfksangw +jcxqvbroqtvnleyzpdmfksahgw +icxjvxroqtunleyrpdmfxsahgw +icxjvnroqtunleyzpdmfssyhgw +icxjvbraptunleyzpdofksahgw +icxjvbroatunleyjpdmfbsahgw +icxjvbroytlnlryzpdmfksahgw +iaxjvbroqkunleyzpdmfcsahgw +ucxjvbroqtuileyzzdmfksahgw +icxjqbroqtcnleyzpgmfksahgw +icxjvbloqtunleyzadmfksaqgw +icxjvbroqtunleyzkdmnksakgw +icxjvbroqtunleyjpdxfksahvw +iqxjvbroqtujleyzpdmfklahgw +icgjvbroqtunleyzpdmfksbhgb +icxjzbroqtunleyzpdmfkdahgg +icxjvbrobtunloywpdmfksahgw +icxavbroqtunleyfpdmfksahgd +icxjvbroqtunleyophmfksahkw +icxjndroqtunlyyzpdmfksahgw +icxjvbroqtjnleyppdmvksahgw +icxjvbroonfnleyzpdmfksahgw +icxjvbrqqtlnljyzpdmfksahgw +icxjvbrzqtunlelspdmfksahgw +icxjvbooqtunleyztdmfkfahgw +icajvbroltunlnyzpdmfksahgw +icxjvbroqtunleyzidmdkschgw +icxjvbroktupleyzpdmfksahyw +icxjcbroyeunleyzpdmfksahgw +icxjvbroqtunlezkpdmfksahsw +icxjvbroqtunlejzpcmfksrhgw +icxjvvroqtunlsyzkdmfksahgw +icxjnbroqtunbeyzpdmfpsahgw +itxjbbroqtunleyzpemfksahgw +icxjvbroqtunlrkzpdmfksshgw +rcxjvbroqtujlbyzpdmfksahgw +icxjvmroqtugleazpdmfksahgw +icxjvbfoqtunleylpdmfkeahgw +icnjvoroktunleyzpdmfksahgw +icxjvbroqtunlvyzpdmfkfahgr +icxjvbroqtgnseyzpdmfxsahgw +scxjvbroqtunleycpdmfksdhgw +icxhvbxoqtunleuzpdmfksahgw +icxjvbruqtunleyzpnmfksfhgw +icdjvbroqtunleyzpdmfksahup +ihxjvbroqtunleovpdmfksahgw +icxjvbroqtunleyzxdmfksahzv +ocxjvbioqtunleyzpdmfzsahgw +idxjvbroqtunlyyzpdofksahgw +izdjvbroqtunleyzpdtfksahgw +icxjvbrnqtunleyzpdmfksbhgb +icxjvbrjqtunleyhpdmrksahgw +icxjvbroqtunleyzpdbflsahgg +icxjvbmfqtunleyzpdmfkaahgw +idxjvbroqtunlsyzpdffksahgw +bcxjvbroqtunleyzpkmfkswhgw +ivxjvbroqtdnleyzpdmbksahgw +icxpvbboqtunleyzpdmfksahtw +ibxjvbroqtunlehzpdmfkmahgw +icxjvbboqtunleyzpdmfkaahgv +icxjlaroqtuileyzpdmfksahgw +icxjvbroftunleyzpdmfqsahew +ichjvbroqtunleyzpdmiwsahgw +icxrvbvoqtunleyzpdmiksahgw +icxjvbroqtunldydpdmfksahgl +icogvbroqtunleyzpdmfnsahgw +icxjvbroqtunleszodmfkswhgw +icxjvbrontunleyztemfksahgw +icxjvbrovtunleyzpdvkksahgw +icxjvbroqqucteyzpdmfksahgw +icmovbroptunleyzpdmfksahgw +icxjvbqoftunleyzvdmfksahgw +icxjvbdoqtunleyzpdmfkadhgw +icxjvbroqtunlgnzpdmfksaqgw +icxjvbroqtunieygpdyfksahgw +acdjvbroqtunleyzpdmfkwahgw +icxjvbroqtunleyzpdmfkfahlj +icxjvbgoqtunleyepdmvksahgw +icxjvbpobbunleyzpdmfksahgw +icxjvbroqtunleurpdmfktahgw +ipxjvbzoqtunleyzpdmffsahgw +icxjtbroqtunllyzpdmuksahgw +icxjvbroqtunbsyzadmfksahgw +ihxjvoroqtuqleyzpdmfksahgw +idxjmbroqqunleyzpdmfksahgw +wcxjvbdoqtunleyzpdmfksahgr +icxjvbroqtunleygptmfksahgj +ipxjvbrsqtunleyzpdmfksghgw +ycxjvbroqtunluyzkdmfksahgw +icxjvbroxtuulejzpdmfksahgw +icqjvbroqtunlwyypdmfksahgw +ioxjhbroqtunleyzphmfksahgw +icxjvbgoqnunleyzpdmfksahaw +mcxjvbroqtunleyzpdmfksihgh +icxjsbroqtunlqyzpdmfksawgw +icxjvbroqtuoleycpdmftsahgw +icxjvbroqtunleyzgdifksahlw +icxjvbmoqtunleyzjfmfksahgw +icxjvbroqtunlezopdmfksahge +icxjvbroqtbnlefzpdmfosahgw +tcxjvbromtunlevzpdmfksahgw +irxjgbroqtunleyzpdmfksthgw +icxjvbrojtunleyxpdmoksahgw +icxrvbroytpnleyzpdmfksahgw +icxjvbroqtunfeyupdmfksasgw +ihqjvbroqtunleyzpdmftsahgw +icxjobroqkunleozpdmfksahgw +icjjjbroqtualeyzpdmfksahgw +icxjvbroqtunaeytpdmfksahvw +icxjvbroqtunzeyzpdmfkshhxw +icxqvbroqtucleyzxdmfksahgw +icxjvbrogturleyzxdmfksahgw +icxjvoqoqtunleyzpdcfksahgw +iuxjvbroqtunleyzpdmfksopgw +icxjveroqtunleyzptmfksalgw +icxjvbroqtunleyzpdmfwcahhw +iwxjvbroqtlnleyzpdmfksyhgw +ectjvbroqtanleyzpdmfksahgw +icxjvnroqtyhleyzpdmfksahgw +icvjvhboqtunleyzpdmfksahgw +icxjtbroqtuzleyupdmfksahgw +icjjvproqtunleyzpsmfksahgw +icdjvbroqtutleyzpdmiksahgw +icxjvwroqtujleyzpdmfksahgc +icxjxbroqtunleyzpdwhksahgw +icxjvbqoqtunleyzpdmvfsahgw +icajvbroqtusleyzpdmfksaagw +icxjvbroqtunbtyzpdmfksmhgw +kcxjvbroqtxnleyzpdmfkskhgw +icxjvbqogfunleyzpdmfksahgw +icxjvbroqtubleyzpdmfdswhgw +icxjvprlqtunleyzpdmffsahgw +icxjxbroqtucleyzpdmfksakgw +dcxrvbroqtunleycpdmfksahgw +icxjvbrobtunleyzpomfksahgu +ocxrvbroqtunleyzpdmfssahgw +icxjvbroktunlejzpdmfksahzw +icxjvbrovtunleyzmdmfkhahgw +icxjvbroqtudleygpdmfksfhgw +bcxjvbroqtubllyzpdmfksahgw +icxwvbrontunzeyzpdmfksahgw +icxjvbroqtunleysjbmfksahgw +icxjvvroztunleyzpdmfksjhgw +ivxjxbroqtunleyzpdmfksahew +icxjvbroqtunleyupqufksahgw +icxjvmrcqtunleyzpdmxksahgw +icxjvgroqtunleyzpdgfkuahgw +icxjvbroqthnqeyfpdmfksahgw +icxjsbuodtunleyzpdmfksahgw +iuxjzbroqtunleyzpdrfksahgw +icxjvbrobtunlelzpdmfksahgs +icxjvbroqtzhljyzpdmfksahgw +inxtvbroqtunleyzpdmeksahgw +icgjvbroqtunleyztdmfksahgq +icxjvagoqtugleyzpdmfksahgw +icxuvbroqtunleyzpimfkyahgw +icxzvbroqtfhleyzpdmfksahgw +icxjjbroqtqnleyzpdmnksahgw +icjrvbroqtunleszpdmfksahgw +iexjvbroqtunlgyzpdmfksacgw +rcxjvbkoqtuoleyzpdmfksahgw +icxjvbroqgunlwyzpdmfksqhgw +icxjvbroqtunleqzpsmfksqhgw +icxjvbroqtubaeyzpdmfksaugw diff --git a/2/s1.icl b/2/s1.icl new file mode 100644 index 0000000..af6361e --- /dev/null +++ b/2/s1.icl @@ -0,0 +1,27 @@ +module s1 + +import StdEnv + +import Data.Func +import Data.List +import Data.Tuple + +getinput f +# (ok, c, f) = freadc f +| not ok = [] += [c:getinput f] + +split :: [Char] [Char] -> [[Char]] +split [] [] = [] +split c [] = [reverse c] +split c ['\n':rest] = [reverse c:split [] rest] +split c [r:rest] = split [r:c] rest + +Start w +# (io, w) = stdio w +# l = map (nub o map length o group o sort) + $ split [] + $ getinput io += ns 2 l * ns 3 l + +ns n l = sum [1\\x<-l|isMember n x]