adventofcode

https://adventofcode.com/
Log | Files | Refs

commit 8ab8a2fd78cca3f48fb4704f68d2743ceb46c329
parent c3a569abeeebe6841b4a41cc2492e4159be73bfd
Author: mpizzzle <m@michaelpercival.xyz>
Date:   Wed,  2 Dec 2020 21:19:00 +0000

puzzle 2 part 1 complete

Diffstat:
A2020/files/2.txt | 1000+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
M2020/puzzle_1.scm | 11++++-------
A2020/puzzle_2.scm | 44++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 1048 insertions(+), 7 deletions(-)

diff --git a/2020/files/2.txt b/2020/files/2.txt @@ -0,0 +1,1000 @@ +3-4 l: vdcv +6-9 d: dddddkzdl +6-13 f: mfswqfrqffrvfvf +10-12 l: sfzlnwcptlnlflq +2-4 m: qbwcmt +15-16 v: vvvvvvvvnvvvvcvvvvgv +1-4 n: wnnzfln +1-3 x: xxgx +7-8 j: jjjjjfvh +6-8 x: xxzxxnnwx +3-8 t: djtdznbtgwtrhxf +7-9 w: glwwwwxtxwlwwwcp +4-5 g: jggjtgggg +9-10 c: trgjrcbfcwf +9-10 v: vvvbvmvcvvvv +3-14 p: pptzpppppppppsfrsppc +3-5 n: nnznmkn +1-13 t: fxtrpgtzztsfnmzmmtg +13-15 d: dcztmqjdmclgdhdcd +3-4 j: mjjjjc +13-18 x: fxxgxxxxxxxxxxxxxcx +2-4 f: fxqs +3-4 w: ffmbwwnn +12-13 k: dlpdzkhbkkkftkb +5-11 r: vrdxrrrrrtrqz +7-8 b: bbbbbbrcb +13-16 c: wzccvzccclccczcc +10-11 m: lmmmmmmmmwqmm +6-10 f: fffqjfznvfhz +8-9 h: hvfhhvgklhhpfmh +4-17 p: hpprnpsppcppppppfp +9-13 z: zzzzrgtzzzzzzzzzzl +6-10 l: lllllqlllplll +3-10 j: vjjjwjjjjjjjj +4-8 j: jjjjjjjjjjc +2-5 s: jsgtsfsw +1-2 b: brwpbbbbb +2-5 m: tbkpfbvnqmpjbbx +7-8 m: xxbgmbmnmmwmdhmm +9-12 v: phsslrznvrsvtxgv +10-14 v: rnnvvrvvvzbhmcx +13-15 b: bbbbbbbbbbgbwbbb +2-5 w: bwldjwwz +5-7 d: dddjthk +10-12 c: pckcccccccccl +2-11 b: rdjqkdbzxzqfgn +3-8 s: dsssmshs +8-10 d: dddfdddsdj +2-4 l: slgltjzwzrnlllrh +6-10 z: vrcvgrgzphxd +10-13 b: mnblbbbbbbbfvbbbbx +8-16 n: wznnnbfhndnnnnngnn +6-8 v: fvvvzqks +3-6 n: znqnbnzwnn +15-16 g: wggzxsgcgjwgxhgggg +10-13 x: xlvxxxxxkxxxfxx +2-6 z: jpznbgszmj +13-19 j: jjzjjjdjwxlnjhwsrtj +5-6 p: bvppqqppcp +19-20 r: rrrrrrrrbrrrrrrrrrvd +4-7 j: jjjjjjljj +5-6 k: kkkkkck +1-2 k: zbkk +11-13 r: rrsrrrwrrrrrr +6-11 z: zzgzznzzzzwzzrzpzgc +7-11 l: llvlllllllllllll +7-8 f: fffffjffnp +3-4 j: pxcw +9-11 k: zkkkkkkkdkzx +12-13 g: fgglgvggxhgks +6-7 d: kbdddftdddl +14-15 m: dmmjwnxxfdfhwvcdd +3-4 b: bbbsbt +2-9 d: tgsvznmnnrgvtldjbj +4-5 l: ljxtc +5-8 j: jnvsjlfw +3-4 v: zrklbf +1-15 v: vvvvvvvvvvvvvvtv +5-6 n: ssnnnngnsxkphtnwrk +6-7 k: kkkkkkdk +2-4 d: xchmdk +12-13 v: vfvvmvvvpvvwvpvvvdm +3-14 d: dzcddwdddddfdfdwd +1-6 b: dbbbbsb +12-14 b: bbbxbbbbbbbjbb +1-8 s: sssssssgn +5-10 d: ddddwddddvdd +10-12 s: sssmssssskswssss +3-13 q: cdqfcqvszbzqnhvxlw +8-10 z: tmgzkvxzzvz +8-10 n: nnnnntnqnhrsnn +2-7 r: vjrctrhprhc +6-8 w: bzfxrwwfmx +3-5 x: xxxwxb +5-9 z: vbspkzfsrrpdcfl +8-9 z: jgqzzzzzwq +5-12 x: dvqvjsdfjxgtxkd +5-6 r: rrrrrr +1-4 f: xdzngd +15-18 x: xxxxxxxxxxxxxxvvxx +1-4 g: qcwjpxgtvgkf +13-15 m: mhmmmmmmmhmmqmmmmmmv +5-11 n: nnnndnnnnnnnnnnnn +4-9 n: tjgnpqsnpxpzfw +10-13 q: qqlqdqqqqqqqnqq +8-14 g: gdcggnknjsgdskq +3-5 l: vlllll +16-18 t: ttttttttttttttttmt +9-14 b: kbhbcbbbbbqbsbr +3-9 f: jzrnxffljfmhffftdng +1-4 z: pbzs +10-11 h: lrrgpmhshtfg +1-5 n: mnqjwjpfnnzn +1-8 r: zrrrprrkr +8-9 g: gkbtggcpf +3-8 q: qqsqqgqqqqm +17-18 j: jjjjjjjjjjjjjjjjgkj +13-14 t: tttttttttmtttfttt +2-6 c: cvcccqc +4-17 c: sfnckrcmlcpmcpcgbkct +10-12 d: dddddddqvddd +3-5 d: ddddtd +10-11 h: hchhhhhhhvg +3-11 j: mmlcjsjhjbpjjjxsk +11-12 w: wwwwwwwwwwwww +9-10 c: ccccccccccc +5-7 x: ckhdnfgjrdkxqphvjtvs +10-12 s: ssssjsssshstd +7-8 m: mmmmmmmg +3-4 v: vjvvt +2-3 f: hmknf +3-5 g: bgsglggg +12-13 x: vxxxdcgxxxfxx +3-20 h: hhhtkvrmfswvmkzmbvmh +2-3 v: vvvv +3-14 g: zgpggzgqxjzggg +15-16 c: ggcjccnccccccccc +11-12 d: wrdrdxsfdzddkl +6-7 q: vqqknqq +2-6 w: wwwwwwwkck +4-6 l: dplldljlvxrrm +2-18 m: pmwfkqlknsxzjmdzkmxd +5-11 q: rqkzqxqmqtqnzqqqxk +6-7 s: sssssskss +9-10 w: wwwwwwwwsw +5-7 x: jxxxhxwxxxxxxxx +4-5 t: ttbttfm +2-4 h: mlhhhkhc +13-14 l: llllllllllllfjl +8-10 k: kllkkkjkkkk +1-3 s: sssbdss +2-3 z: zlbzzzzzz +9-10 r: rrvrrrfrdfrr +4-12 k: vkkkbkhkzkkk +11-12 l: llllllllllcgc +5-6 k: hkzkkkkgdsghdk +3-5 n: nzsxk +12-14 r: rwrrrrrrrrrprxrrr +4-7 k: kkxkkkkkkk +12-16 b: bbbbbbbbbbbbbbbbb +13-16 p: ppppppppppppzppfp +15-19 j: tjjjjjdjjjjmjjccbjm +1-3 l: llll +3-4 x: hxkl +9-15 n: ktnpmnnnlnxnnft +6-7 q: qqdtcqs +13-14 g: lgghndddgllnfg +7-14 k: cdzkjkkksksbwkjb +7-11 w: cwcsvqwfwhw +14-18 m: mmmmmmmmmmmmmhmmmjmm +4-5 c: cvfctcsncscbmj +4-5 r: zrnrrnxct +2-3 b: ggdlb +8-9 x: cpxskxxxxbxn +12-14 v: vvvvvwvvvvvbvw +13-16 n: pmhnhpnntncxqrmd +2-4 m: mmxm +7-10 m: mmmrqwsmnkgbdbrmmjjm +7-8 z: zzzzzzzzzz +2-3 p: pppnfltzpd +1-10 h: hhslhfsgtxphhncg +5-6 m: txmhxhtmgm +4-5 v: wsnvrsvx +8-12 p: pfbdlnrphdfplvpqx +10-13 b: nbpjvgghsbplb +9-15 h: ghcxbptxsgvvvptqx +4-5 t: tttgf +2-3 l: lsnl +1-11 v: vvvvvvvvvvvvvvvv +6-7 r: brnrrrr +3-4 k: bkkvkrtmzj +17-18 p: pppppwphpkpppppppp +8-11 f: fqfffdffffpfffffffff +14-16 z: zznzzzbzzzzdzzzsz +10-11 v: xtvfnxdrvqnxg +8-13 c: tcwtbcpfvdccs +5-6 b: btbnbdb +2-4 d: ddxmcb +6-9 p: qpppzppbpsplpppppxp +7-12 z: zzzzzztzqzzqzz +4-5 h: hhhmb +7-10 f: frftffhfff +4-5 c: xccmv +8-11 x: rfglxxxhxwvxxfcxx +7-10 k: kkqnjxzckmmbkkk +6-7 h: hhxsdhhwh +15-18 r: rmrrlrrrrrrrrtncrcr +10-11 x: srnxxbbhxxx +13-14 c: cccccccccccchx +5-8 r: rrrrfrrhrrr +11-15 v: vvvvvvvvvvvvwvvvsvv +6-8 q: qqkqlnqzmqqx +2-3 h: hhzq +10-12 l: lllflllllpqt +7-9 m: mlmmmmmmm +4-12 b: pbbhbrrhzxvrgcsfmqq +8-10 g: tggrgggbgdggmg +9-10 s: sssssksspsss +4-8 k: dtkkkkkkkkkkmk +19-20 j: jjjjjjjjjjjjjjjjjjjj +3-8 r: rrrrxrrrrrrr +9-10 p: qmgzfbqpnp +1-4 w: wwwsw +1-15 f: fffffffftzftxhfwfbx +1-5 t: rtttttlxtjtttsq +3-4 f: fmffkt +16-18 n: kfnnnlnnnsgscnzmrv +3-4 w: wwmk +7-9 l: lllkbllllllllljtjll +7-13 l: pqzbtxmqslllqkx +6-18 j: qlnjjvrtzqkfrnjxjk +6-8 q: qtpqqpqg +6-8 c: cccfccxd +3-4 f: fhff +4-5 x: xjxfhqkhx +16-18 k: xvbktrmqkckwkrkkjkk +9-13 v: vvvbvvvvvvvvnvvlmvv +1-7 k: wkkkkkqkk +2-4 z: jpzlxfjbh +5-8 l: lllllpllfllllr +7-8 r: rrrrrrwnr +5-6 d: ddddftd +4-5 q: vqlqn +3-13 p: pppsppmpbppppppppn +1-3 w: wwww +4-5 d: tfrpfcdlft +5-10 r: rrrrppxrrvrm +9-10 t: dtttttttgvtt +8-12 j: jjjhjjjljjjjjpjj +6-7 b: lpfpzljhbl +3-6 k: kzkqkrkckkv +3-7 q: rvqdtsqqjfftzllflnx +2-3 l: glsjcsrlmn +5-8 g: gggxhggpgg +12-14 q: zqqsqqqqqqqqxqqq +9-11 q: qqqqsqjtqqq +9-10 g: gggggcggggg +12-14 z: zzzzzzzzzzzlzzzzzz +1-6 s: gvqttcgrqqsbndv +8-19 z: mzzzpkzdzzzskfhzzlj +4-6 h: kmlbhwthhp +8-9 x: xxxxxxxvk +1-2 k: drjkkkk +10-12 z: zdzsgzzzwvzrzszzzzzz +13-14 f: lffdffjfbfdxjd +11-12 b: rppkbnjgcqrr +1-2 l: lllq +5-6 m: mmmmzr +6-14 l: lllbldllpllllblllcl +4-9 d: rdtdcwnbqjbthddr +13-15 v: vvcwvvqvzvvvfvg +9-10 g: gpxpwxhmgg +13-14 n: njpndvsvfgrrhnb +3-5 r: rrrrr +7-13 h: hhdcgscdxmhwhg +3-4 l: tnhf +10-13 c: mfcvbcmcccqhc +6-7 x: cdwfdxxxxxx +5-7 b: wbbzwbcx +4-6 h: vhhzpqjhk +5-8 r: hffprngr +14-15 p: pppppppppppspjm +8-12 z: pzqdhzzkzzzzxzzc +1-8 b: kbbfdvvcsdjlbw +16-18 k: rqwtgtwzgsnvlkdkkk +8-10 w: xllfslwwsf +2-5 m: qmbdm +10-12 b: bhbbbbbwtbbbbbhbb +8-14 c: cscdccccccccxcp +3-5 c: rcdpz +16-18 q: qqqqqqqqqqnqqqqbql +3-4 x: xjxx +6-7 n: gnnnnxwqn +16-17 f: tffrffffffffffffff +5-6 d: ddddgm +2-7 r: prrrssrrkrjrrr +12-16 g: ggxbxggtgbggccwgggtv +10-14 n: nnkntpnvncnnnznnr +3-5 c: qccwcx +7-17 v: jvvvvhvvvpvvqvgvv +3-6 c: cclccs +8-10 m: nwtmfcnmmmmm +1-2 p: hrpp +2-3 j: hdnjgt +1-3 h: jhgvhjhh +9-10 j: jjjjjjjjvl +12-15 h: hhshhhhthhhhhnhn +5-8 k: qkvmkwckvlkl +12-15 j: jjjjjjjkjjjwjjlj +11-16 v: tvmrmvvvwwqrxwvg +5-7 b: dbhtpjvxqzbhbz +3-4 b: mqbg +4-7 t: tttbtvt +8-13 h: hhhhchhhhqfhhhhhthr +1-6 w: lhwqgrbbwbv +1-11 t: ttttpttttttt +2-5 l: rlwllvfhw +7-8 m: jmmrmmmmlmmm +3-5 s: smsss +15-19 p: mfpzcghppcgpgqpfvxfw +6-7 n: jnldsnb +7-9 x: xwbwdxjhcxxvxx +1-2 c: cbqprgfjfpc +3-4 g: gngf +7-10 w: twvvwwtwwtwwsgwws +2-9 g: ggngggglgrzk +7-9 p: xpphpkppppp +11-12 p: pppppxpppppppppp +3-4 g: fzqrl +6-7 x: xxxxxmw +3-4 r: rrrn +8-11 b: bbhbbbbrbbwbkb +3-11 d: xxvfmvrdmzhfmvmhhp +1-12 z: mzzzkzwzzzxfzzzzzzzz +5-11 g: gzbjgxghddggkgq +5-8 g: grpggrgg +1-6 f: lfffffsfffff +8-10 x: slxxxgxxqxxx +4-13 l: lllllllllllllvll +8-9 z: zzzzdhzzz +13-15 l: rglrmcqvgjzvlklx +2-4 q: nsxs +2-3 v: vvqcv +13-14 b: bbbbbbbbbbbbbb +13-14 x: rxxdxnxxtxxxqq +1-4 s: jmsssssgssvppss +6-7 j: pgvjkxcvjslmj +2-5 w: jwwswgl +5-7 m: mmnmmxp +2-6 k: tkkkxwtkrk +4-15 n: nnnnngnnnnnnnnnnnt +7-11 x: dxxtxxxvwtnx +11-14 s: ssrvphskdsstzsszrnsz +11-12 l: rclllgbllblb +6-7 x: fxhbmnj +15-17 q: kqvhwsqhqqqhmqqtqqlq +12-14 k: kksktkkkkkkkkfk +3-4 h: hshk +14-17 v: vvvqvvkvvvvvvvjkvxv +2-6 f: vfvfrp +4-12 z: bzzqszhwffrhr +2-9 b: sbdjfbndbhcclrmblccn +11-13 j: jjjjjjjjjjgjkjjjjj +15-17 f: fpffffsfffffffdfjfff +6-7 v: tlvvvvv +11-19 l: llllllllllllllllllll +1-6 w: wwbwwwwww +3-7 s: cpsvmss +2-11 r: rrpnkchfzljwxmrrvvw +7-12 n: msgpplgpfnkmxlm +4-13 f: sjpfqpnzqzznfftfhgfs +13-14 q: qqqqqqqqqqqqqqq +13-14 j: jjjmjjjjjjjjgq +2-4 q: qdrds +5-10 s: ssssqssssbs +6-8 c: ccdcchchcc +18-20 z: xztgqzzckzgcpzzzjzdz +5-8 z: ctpdzzzzzqzmvzxn +6-8 b: bbmkgbfkb +2-10 x: xxxxxxxxxxx +5-6 z: gzzzqk +4-7 c: cccvccj +7-8 d: dddddddd +9-11 c: ccdccfccxcccc +1-4 z: zjzzzz +6-8 z: zlmjbzvz +8-10 v: gvtjvgvzvjphscn +8-10 d: dcdddddddddddddd +7-8 p: mjpwppppp +1-11 w: wwwwwnwwwwwww +7-9 j: jjjjjjjjj +6-8 q: dmqdqqzt +3-10 p: tsqcpgmzgh +11-15 s: ssslsxrlbfqsssssss +5-10 m: dpmtmhbdmk +3-5 p: wpjqv +10-13 p: lhvkzxprppmtprj +4-6 w: nlfjwz +19-20 c: kzckcfsqpdvssgcgktcm +1-2 p: ppgltbv +3-4 w: ngwwfttwqg +10-11 p: ppppppnpllgp +2-4 t: tkttptt +3-6 x: xwrjpcf +14-17 q: qcqbqfqqkqdqrqqqq +4-8 n: qsncdnbknpn +8-10 s: wzscpmssrshh +3-8 p: pfppppgpp +11-15 b: tqdbgfbbbgjbbbg +12-15 h: lwhhjzhpmhzhhnhmhh +4-5 w: nwccwlpwdvtlwwr +11-16 w: wwwwwwwwwwswwwwxw +6-9 q: qqqqqqqqqqqqqqqq +8-12 t: tqttjtttpgbtlt +14-15 v: vvvvkvgvvvvvvvg +2-12 f: fpfflxzxffwxfvfff +7-12 m: hmmmmwmmbmlm +2-3 z: mmlzzz +12-16 h: hhbhhhkhhfhpbghm +15-18 s: ssssxsssssmsssqssx +8-9 s: sqsqdtmssqscxxs +1-10 n: nnbnnngnnn +10-14 c: ccbcvscncrccng +7-8 k: kkhkxrkkctkpjkkck +10-11 g: bgpgggkcwzs +9-17 l: llllllllckwllllllwl +7-12 q: gqqqjbxtqvqxzjhvjrjj +1-3 s: ssnsc +3-10 n: nnnnnnnnnnnnnnnn +9-12 l: blfnqllsllll +5-8 s: sgsgstssl +1-4 c: cccwcc +7-9 h: hhhhhhhhhhh +2-4 s: sssss +8-10 f: vznpfffrsffscgfzft +4-5 r: hnrns +4-5 z: zzzlgz +10-18 w: wwwwwwwwwwwwwwwwwwww +3-12 b: bfmbbbbfbbltbg +14-15 z: zzjxrhrjsbrrzgd +1-2 z: zzzzz +4-11 x: pxgxwphxmgxpt +1-16 c: cbgnxcccxsrcbmcvqc +3-6 n: cnppnnjnxnnjss +8-9 r: zltfbjwrrlmtrzqrh +1-3 z: zzqzzzzzzz +4-7 n: vgndgdndbxcnznxc +2-9 w: wwwwwcfnww +1-4 b: tbbrbbbbbcbbbbbbbbdk +7-8 h: hhhwhzhhhhtf +12-13 j: jjjjjjjjjjjjj +2-8 m: rthcgnxmm +2-7 l: glzctbjh +5-7 d: dddddddx +12-13 x: xxxxxxxxxxxxs +6-11 t: ltnfnnqttvtkjnlk +6-7 x: qxxxxpfxxx +1-3 d: kdndzd +6-11 f: zfxfmffptsffmffvfz +1-4 x: xxxxxxx +4-5 l: lllllllll +4-8 c: cjccccgckrdpvv +13-14 z: zzzwzzzzzzzzkkzp +1-3 r: lgtr +3-17 g: ggtgjgmggggggggggggg +4-5 q: qqqqqq +2-6 v: vvvlvvv +4-17 c: nwqcprgftnqgcrjpcjb +7-10 x: xlxfrjxxxxgnxx +2-14 q: qqqqqqqqqqqqqsqqq +4-8 x: xxxxxxxxxxx +1-16 z: bzzzzzzzzmzzzzldzzzz +2-4 v: bffhzd +3-4 r: rrrr +5-8 x: xxxxxnsxd +1-17 g: gbngjggxgggjgzvjk +2-3 b: sgbb +11-14 p: ppppppppppppppp +3-9 q: vhsjtqppqgdqdqlf +1-3 w: wcwzsfzwwcwdwncwp +7-11 f: ffffffdfffff +3-8 g: ksgdcqqgtkmgjbzsf +5-8 s: tsssccswss +1-7 r: brrrrrhrrrrr +5-7 g: ggxmgggcwgz +2-4 h: hhwh +9-18 w: wwwwwwwwhwwwwwwwwbw +1-7 m: ndmmbmmmmmmm +5-7 j: jjvjvjt +3-8 m: plnmcmkfmmcm +4-5 r: rrrjzr +4-8 k: kkkgkjknkjkk +17-18 s: srngdqpwxcrbqrprss +4-9 t: mbkjrtntztrttt +1-10 w: hwwwwwwwwwwtx +5-9 f: lfvhfxndfffmxhf +7-8 n: pnnnnnbvnnnnnnnnnhnn +1-10 b: jjtptpmmqv +1-3 p: rqppqt +1-11 t: pbtwdttkttmtxj +5-6 g: jpkfggtcmj +6-8 f: fffffpfvf +9-13 t: ttttttttdtttg +3-5 r: prrjr +18-19 b: bbbbbbbbbbbbbbbbbbb +5-7 v: vjvjxjhvrv +8-10 z: zzzsznzxttgspzzzz +5-13 m: mngmcbmqbxmzjfm +1-3 b: xbhb +12-14 m: mfmmbgmmmmmcmz +3-6 n: jpnpnnn +3-14 j: xmgjqkzfctctxwgjms +7-14 k: lbkfcbctkgkjkqvjdwkc +6-8 l: lhthfgllfvbpxchct +5-6 h: hhhhhk +6-9 c: qkxtbqltkzcrdcgckncc +13-15 w: fhsvgcxwfcgxwvwwwkb +3-4 c: cccmcj +3-4 m: mhmcmm +4-5 k: skkqg +4-16 m: mgmcmmmmmmmmmmmtmmm +3-5 g: gggbsg +9-15 l: dnslgllwlflmlllllll +3-4 h: mhhh +3-5 z: vkjzlzzvrztwg +11-12 q: qqqqqqqqqqqq +5-10 p: xpxprppppgzppp +1-4 z: kzzhzszzzzzzzz +2-7 j: nsjfszt +8-13 j: qtrjfmbjfswrj +2-10 s: ssscwcsnsssrt +1-12 w: zwwwwwwwwwwx +2-4 p: ppgvf +2-3 n: hnnxmgtchqwgnfx +11-12 z: bfzlvgdzpfzzzgvhz +1-6 d: czqqdjrxs +6-7 r: rrrrrkz +4-7 d: hxdzddvq +2-4 g: slwgs +13-14 f: mqfhrlftvvfkff +12-14 d: ddddddddddhqdc +1-3 f: ffzff +4-5 r: mrrrkrrrrrrkr +3-4 m: mmwl +2-5 j: jljjsjdj +4-5 f: fkfdf +16-17 s: dzdsrsgmsjffsnssls +10-17 f: fffffhffffhffffff +8-10 v: fvvvvvvvvz +4-9 n: nnnpsnjstl +8-11 x: xxzdxfjczxx +4-10 k: nrkxhfzspmfpzcl +7-10 x: pxxjlcbtsjxdc +1-14 s: fsszssssssfsssss +5-7 d: ddgdgdvddd +2-11 t: jttpshfcmlt +1-3 v: pvdv +5-7 x: xxkxxxx +13-14 d: ddddxdvdppdcrdhk +2-6 h: hhmhpc +6-11 g: jxhsggmgcrp +13-16 r: krrrnccjrrtrtrrlprrr +3-4 f: ffff +5-7 t: ttttttttttttt +5-7 d: ndddjdw +7-12 w: wgjwwbwcxfww +2-6 s: sxsssbs +12-14 l: xlxslmmjpvmzll +4-6 h: hdhhhhdhkch +9-11 j: jjjjjjjjjjj +6-8 d: dddddddn +5-6 b: bbbbsnbbbbb +1-8 h: hhhhhhhhhh +5-11 p: ppppppppppp +11-12 d: dddddddddddk +1-2 b: bbpbb +2-8 j: jjhhjzjjt +5-6 k: kfkjkk +3-5 j: kgjjjjqnjcfmjjrc +2-5 l: jtmzhlcs +3-6 v: vvvvvvv +15-16 v: vpvvvvvvvvjvvsvvvvvv +15-16 h: hhhhhhhhmhhhdhhh +2-3 k: ksdg +7-11 b: dbhbbbbbhbbrb +4-14 k: kkkknkkkkkbtkkk +5-6 j: smdndsgfm +2-3 c: sccc +10-15 w: bwwwbwwwcwwlwwpwwwww +3-6 w: wwwwwww +14-19 s: jqdgjszsssssdrssjszs +5-10 p: vpppbppppp +4-7 p: zcpltzbsjmcgpv +2-8 j: tfjjjjjnprj +14-15 m: mmmmmmmmmmmmmhqm +1-6 t: pttttct +9-10 n: qnbnzxjfnnkb +5-6 v: vvvvjvv +7-8 v: qvvbvpvvvf +2-15 s: sjsssssssssssstss +7-10 b: bvbbbbnbbbbb +13-14 b: bqbbbjqbbbbbtq +3-7 k: cltbmkkb +8-9 c: mlscsmqccfmccszsslck +3-4 k: kklckk +5-7 c: cccmclg +5-7 d: dnddddd +1-5 f: xfffbffffffffff +13-15 n: nnnnnnnnnnnnnnqfnn +3-6 t: ttttqztttcttt +3-4 s: ssnws +9-11 f: bcvkzrdrcffgzjgvf +3-10 r: rrrdrrqrrrrrr +3-6 h: bbqhkh +3-8 n: nngnwthw +1-11 x: ffqbbnxcpkrlzhm +3-4 b: bbbbnnb +5-6 f: lfdwqjffmj +7-16 v: vvvvvvvvvvvvvvvvv +13-15 m: zmmmzmmmmmmmmkmrmmmm +1-2 r: rrrr +12-14 d: dkdddddddddddcddd +14-15 r: crlrtjkrrnhqrrr +5-9 w: xjjwpcpfffchxtww +15-16 d: jdcchsgdjtjdcxdrlwx +9-15 p: cpmpppprpnpppsp +6-7 w: jlqkwww +1-12 p: wpfqzppptpflp +4-14 x: xxxxxxxxxxxxxxxxxx +1-4 z: xzzjz +2-10 t: zvbnlwltbkvvcf +5-9 v: vpvvvvfvvvvv +2-12 l: lllllllllllllllll +2-6 w: wmcwzpvxqsbxrrw +11-12 l: lldlllllllrllgll +9-13 h: hhhhhhhhdhxhrhh +6-9 x: xxxzxxxxxxxx +1-15 x: vcsxxxgxxxxwxxbbxx +7-12 d: fmddcdfndddddkdnrgt +12-14 x: wlmbpdxxrxbxdxg +5-9 l: gnllscnsz +4-5 j: jjjjj +6-10 q: kvctnxpqhqfhjb +6-8 q: vqqnqcqpqq +2-9 k: mvxsbrxzr +10-11 c: lbcgbpsxhcc +9-17 x: xkdpklsvxqlkvrlvx +3-14 j: trjcmjzjqkbjjj +7-8 k: kkkkkkhfg +1-3 f: pfdf +9-12 s: glcjzdmllprrrxmdds +9-11 b: bwbbbbbbbbqb +2-14 f: kzfffbzfhfffflf +5-7 n: ngnnnnn +6-10 t: tttttrtttjtt +7-8 f: fvffzfpff +3-5 h: jbhkx +9-11 b: qckbnjtbcbb +12-15 m: mmmmkmmmmqmmmmjxm +9-11 c: cdckczpcccc +1-3 v: wzxq +8-11 q: qhqqqqqlqqnqq +4-9 j: mpjjqsdsj +13-17 s: sssssssssssssssss +4-7 x: knbxqrxxzl +15-17 m: mmmmmmmmmmmmmmmmmmm +6-10 w: wxnwfhwqdd +9-11 r: crrrrcrnrrwrrmrrrm +9-15 l: klflxlcllldllllll +1-4 n: vpnznn +2-4 k: cjkg +7-8 m: xqmmrmmjjshmfm +4-6 f: sfffff +2-7 l: mltmmnldsnnl +5-6 j: tjjdjxjjbs +4-5 p: ppmnp +2-3 b: bzrb +5-17 h: dmpdgxthrcppfznbhchw +3-4 p: pppp +3-5 v: vvhvvr +9-10 g: gflzqwbvgsgnbzngmgr +8-17 z: xpvzsrhgzqtdcfjzl +1-4 x: khxjxxvd +3-4 z: czzz +10-12 m: zjzcmmpxmjxmxzm +7-9 k: kkkkkkkktkzkkk +16-17 d: ddrdgdxdddddgddwmd +2-16 f: xmsflgsvfwnfmxwnnmg +4-12 b: ltbkbqbbbbbc +12-14 t: tctlnvtjttsgztthtxtt +9-14 x: xxxgpxvlkxdxdrxxrxwx +15-17 s: xsssssssssssssvgw +10-16 q: hqqpqxjqbsxqfqbm +4-5 v: vvvnvvvttv +15-16 v: rwshvltmvgvcvpvv +4-5 j: jjjjjjjj +3-5 w: jwfwp +4-5 m: nddmm +10-13 t: rtttnttttttttj +14-17 l: llllllllllllltlcnl +7-16 p: crjhtmpppgkpvgnpt +6-9 b: bbfbbhbfgdrb +1-2 q: qkqq +17-20 f: hwcftkmtzhftmnfwfsdf +2-4 w: wjtww +10-11 p: pppppppppppp +5-12 l: dntvlnljwkkldgp +3-4 s: gmkvlqxsx +8-10 m: qmmmmmmmmm +12-14 p: gtbnfmlvtkppwp +7-8 t: ttttttvs +12-18 j: jjjjjjjjjjjjjjjjjb +5-7 p: tfrppwpcpppp +11-13 h: hthhhhzfbhhhdhhph +1-7 n: ncgsvwvlvwlhbtmnnnpx +10-11 j: djjbsjljjxf +5-12 n: cnjqkknnnnmjnq +18-20 z: zzzzzzzzzzzzzzzzzbzp +2-5 m: kphbm +12-13 g: tzrqwrjgzkxgg +8-9 w: mwwwkwwwww +2-6 j: jbxjjzjjjjj +9-10 j: jjjjjjjjznj +5-6 j: jjjspjj +8-18 g: jggmgpfggbvggvgggggl +3-5 n: nnxnh +3-18 n: nnlnnnnnngnnnnnnnhnn +6-10 r: rcrctghspmrrbrcrrrrq +18-19 s: sfxqssssgssscxsdrss +7-10 b: pbbbbbbgvbzbbz +15-17 m: mmmmmmmmmmmmmmhmmm +4-11 s: sssgssssssssssssxfss +7-9 g: ggtgggggg +4-8 w: wwwwwwwt +17-20 p: pppppppppppppppppppn +2-5 w: hdxrw +9-18 c: cccccccccwcccccccc +1-9 l: qllllllllllllll +15-16 g: ggggggggggggggnj +8-9 s: sjszkrhsss +12-18 g: ggggggggggggggggggg +5-6 s: ksnsxspsw +4-8 p: pppbpppcppppp +4-10 f: fffffffffff +1-2 d: dqdd +7-8 w: wwjwvhvcwbwww +3-5 h: xghfhzhqw +4-5 q: qqqzpw +5-9 q: fxkrhqrjq +2-4 m: mmjm +1-4 p: wpmg +7-13 n: nnnqfdtnnnnftnlnnn +2-11 w: vwphpjskljxgqsgqzph +2-4 w: wwwwgfkmpcf +6-10 w: htgtkwwrmwvgrdmkzt +3-4 s: sssstss +11-20 l: dqlqmkllqclbmzklllrt +1-6 g: gfgcwgvzkrhgjslg +2-13 j: jjjszjxjljjjjqjjvjjh +4-19 q: qqqlqqqqqqqqqqqqqqfq +11-14 j: jbjjjjjjjjrjjp +10-11 f: fpffvfffspvkf +4-5 v: vhvlvhgh +6-8 h: nsfklqhtxg +2-3 z: czwnzzp +1-10 c: wcmvcrcmjmcmbcckfcdc +2-4 f: hzbrjqqntbbffbfl +2-5 b: bzmbwztrb +7-9 z: bscfzxzxz +13-14 z: zzzzznzzzzzzbn +3-7 t: rlxttrcmfttlt +4-6 h: rldcbhx +11-12 g: vfgfdgffbrrg +1-10 s: ssssssssjsss +7-13 k: dqbklkhvlgphjqhvgc +8-18 x: xxxxdxxxxxxxxxxxxzxl +1-3 x: xxxx +11-12 z: ttzhvzzzxkzzzzgz +5-7 h: hjmhhhhh +10-12 l: lllllllpllllwmwwb +2-6 j: hfjqlm +6-9 n: mnnqfnpkw +7-8 c: cckcqchscc +4-5 q: qqqqq +11-13 d: dddddddjddddgd +3-11 q: qvqlqqqqlknnqhq +1-4 h: hnphh +9-15 f: ffffffffffffffffffff +4-7 p: pxpvbpcz +9-14 g: ggggggggwgggggg +1-2 w: wwwwwwwwww +4-5 g: ggcgggvg +11-15 k: kkkgtkcjmwkrkkkkkk +3-4 w: wzww +8-10 k: kkkkkkkwjqtkkkkkkkk +5-6 n: djnfkmzzbc +12-18 x: jxxnxhqxxxxsxxxbxxxx +13-14 p: hbmspppspppkgp +15-16 d: dtddddddddddddpkd +4-6 q: bvqqcpq +2-4 h: dqhsjpp +10-11 l: llllllklwll +4-5 h: dhhcdh +3-5 t: mvntxdsxftt +5-9 w: wxpqwwqwjf +14-15 c: cccccccccccccccc +6-8 b: bbtbbdbwb +4-7 g: gdpqgrj +1-6 p: qppppppp +1-14 s: sqssssbrszsskmss +7-9 n: nnnnnnvsn +4-7 r: nrltrrhndcbrr +8-18 d: dddddddpdddddddddfdd +1-3 b: bbbbb +6-7 f: fpfplqf +2-8 j: jjjjjjjsj +3-5 h: ndhwxnb +4-5 z: zzcztzv +5-6 c: ccccck +3-4 q: qjqqqqq +4-19 q: nsqqgqpgmjsmbkpzwvl +13-15 r: rrrrrrrrrrrrrrrrr +6-12 k: kckvkkhkfbkkkkkkr +3-5 x: xxxxsxx +3-4 s: ssff +2-7 l: pgwllllhlxwl +8-18 z: zzzzzzzzzzzzzzzzzz +1-11 c: fhhcjcchrlxcpcc +3-4 w: zhcjwjnwgwg +1-7 x: zxlpxmxt +12-13 k: jskdrkmhkkkndk +1-8 x: xmpwwvrx +10-12 r: kprvkppwczjt +1-12 b: sbbbvgbbzgbtbklsbb +1-2 z: zzgqpwhzrhnrgjrgrstz +9-11 s: ssssxssssss +3-10 k: sbksdgcrkkxfgc +7-8 n: nnnnnnzf +13-14 j: jjjjjjjjjjjjjj +3-4 f: fmff +13-14 k: nkkkkkkkkkkkkk +2-3 w: zbtww +1-5 k: kgmkkrckdp +4-5 p: xphlp +3-4 k: tzzh +2-6 s: jssvsxdsszsthspslztk +1-3 z: mzzzqzzz +5-7 h: hkhhwgwlchnh +8-14 v: dvvvhggtsvdwgx +3-8 d: dxdrkjcd +2-4 d: pkmb +8-11 b: bbbbbbbmbbkbbb +3-12 j: wxljjrjjjjhzj +5-17 c: wbnpcnngzcgcgbqwvkh +2-6 q: sqlbhq +1-3 n: nlbqgnhcnnznj +2-3 k: gkncgkn +4-6 g: gwxglggzhnq +3-14 j: dgjcfxrjcgwjmjdmggk +2-3 z: qvnrlzs +11-12 k: kdtwlzkjfdkkfkn +15-18 b: bqpxdxbbhkbnfdbfpb +5-15 j: jjjjgjjrjjjjjmmjjjj +8-13 t: tthtpttttmtktttt +6-8 f: wxbpffcf +8-9 b: bbbbbbbwr +8-14 l: xmlrtbphkjrxrg +15-18 x: qxxxlpxxmxxhmmxxxx +7-11 c: cccccsclcrc +1-4 k: kkkkkk +3-4 j: jdqq +11-15 b: vgfqbwsrkhgjhjv +13-16 k: kkkkkfkkkkckkkkkkk +18-20 b: lwwgrrbtwbcvdhbwbmbf +7-12 m: mmmmmmmmmmmmmm +2-12 l: pllndrxbzqzlmzstmbvw +3-14 r: rrrrrrrrrrrrrrrrrrr +1-16 p: ppppppppppppppppppp +5-9 x: mtbxxxjxxxxd +2-4 r: rrrrrrrrrr +3-4 k: kfkz +3-5 m: mgmmmm +11-12 l: blcpjbfvzjll +2-4 z: tzzzd +5-9 z: zzzzqzzzrzjzzzzz +10-14 m: mmmmmmmmmmmmvcmmm +2-7 w: jwchkdws +12-14 p: mdpppjpppppppppppr +15-18 v: vvvvvvvvvvvvvvtvvcv +4-10 p: pppfmbkhqppkvzpp +3-17 p: ppppppjppppppppppppp +3-6 r: cjvklrqrnhkk +1-3 s: sssss +2-6 d: dqddctdjd +12-16 k: kkprkzdksmkbkfxd +8-13 g: pggggggzwgggwgggmg +13-16 b: sbwbbpbhbbbbdbbgb +10-14 c: ccccccccccccccccc +4-8 j: cxkxmzcrsnvbkfvmlk +5-13 l: lmdnlnkbtspvll +3-4 g: ggmgmmhwfmg +5-7 d: ddddjdp +11-15 v: vplvcvvdvhvmvtv +10-12 r: rhrrrjrslrrnrqrrrzrn +2-6 x: xhxxxxxx +5-10 s: zmrkslzcdsrssfsssss +5-7 r: rrrrrrr +3-4 g: ggpx +14-15 s: sssssssssssssmb +1-5 w: smclhnwxff +4-9 l: lllcllllqvlllll +1-4 s: lhpd +12-14 b: cwbdzbbbbdbfqc +5-13 b: qtbsqbvjbcxbkznrlb +10-12 f: fffpfffffxfqffffff +15-16 x: xkxdqrxlwxxvxtxx +14-15 p: ppjpgdppppppppgpp +10-16 n: nnwnnnnnnnrqnnnn +5-7 k: kwwzqdn +2-3 m: mchvnq +6-10 h: vhhxzphthw +5-6 r: slpcrr +17-18 b: bbbbcmbbbbbbbbbbpzbb +3-5 s: wfscss +9-12 r: rfjrrtrrrrkrr +1-8 t: tstztmttgtttfvt +8-9 f: fffffffjnff +7-13 l: lkxclrlgldxllcll +10-12 s: bssssdssbsxc +8-12 t: tttttttwtttttt +3-11 d: ndrndqqzqhdnjf +1-10 g: xgqgggqggfmgggggggmg +8-9 x: kttxbdnxxxcfjxxrxgxx +4-10 n: ndjrqmcxnh +12-13 c: txpwlvzhxhcwbpg +8-9 z: crsqsztzz +5-6 b: vbwbjb +4-5 v: vvvvv +2-6 d: tdsddddx +4-10 r: hzqzrrnwrrhrrfrfwrr +11-18 g: ggggggggggggggggggg +1-7 z: zhcppxz +7-9 r: rrwrrrrrr +1-9 l: hlllllllqllpllllllvd +1-4 g: jklqjgvtxsggfjggg +2-18 m: mmqmmmjkmmmlkmmmlvmm +1-8 w: kwgwxzshwwwc +6-7 f: fffzfgk +6-8 t: ttttthtcttk +3-14 s: hsszwzdxkhsphrtrcbs +4-10 l: lllllbllllll +3-8 g: gggdgggkj +1-4 x: xxxcx +3-7 k: tqhknrkxjxqv +11-19 p: pwwppgsztplgssgtpsp +11-12 k: kkkkkkkkkklgkkk +4-16 h: tnhhcgldlnzngvhb +8-11 w: znwwwwwwwwwwww +8-9 m: mbtmmmccjvmtm +14-15 l: lllllllllltllfw +11-16 z: kfslzzwszdmsnptcz +5-6 g: qgggggk +3-8 k: kkmdkwkd +9-14 v: vvvvvvcvnvvvxwvfvv +3-7 v: vvtvvvcmvvvvxvvvv +6-7 l: dnfjfzfhhn +9-10 g: mtzwcwgfjgshqg +2-9 s: bsgcgjrqs +3-4 c: ccpc +9-14 n: nnnnnnnnnnnnnnknnnn +4-5 p: tppxsp +4-6 x: xmxxnxxw +3-4 m: mmmm +15-16 s: swshctdsksqgcsqsr +2-4 x: xxxxxx +6-7 h: hhvhhhh +8-15 n: nnmvfnhnlndnwgjthmb +4-5 z: fvzzzw +1-12 m: wmjwgmmlmmmm +7-16 n: xhnxjkjprznthqmdnwnl +6-9 b: bbbbbbbbb +17-19 d: ddwdlddkrgdkdddpqdj +6-9 b: bbbbbbbbbb +7-19 l: llvllllllclllflllll +7-9 h: lhhhhhfhhhh +7-10 m: hsdgdmmqqncdcgfxpb +7-8 h: hqzcmvhw +3-7 l: clkllltlwlp +1-2 g: gsgggggqgg +6-8 j: qjjqqcjjjjtjs +11-14 r: nrlhdrrlbrrxgg +3-10 s: tsxfscsfsws +6-7 t: tstttdtbt +6-7 r: rrcxrplkrnrrrbrpl +3-11 b: pbwvpbkbzdbwbvlb +5-11 d: wgwhfxtjmdfd +7-12 m: chmmmrmrmxmqjcpmb +1-2 n: nntnnn +4-12 l: lllllllllllnllll +4-5 c: ccchc diff --git a/2020/puzzle_1.scm b/2020/puzzle_1.scm @@ -1,8 +1,5 @@ (define (read-lines . args) - (let ((p (cond ((null? args) (current-input-port)) - ((port? (car args)) (car args)) - ((string? (car args)) (open-input-file (car args))) - (else (error 'read-lines "bad argument"))))) + (let ((p (cond ((string? (car args)) (open-input-file (car args)))))) (let loop ((line (read-line p)) (lines (list))) (if (eof-object? line) (begin @@ -31,6 +28,6 @@ (part-2 x x (cdr b) c)) (part-2 x (cdr a) b c)))) -(define entries (read-lines "files/1.txt")) -(part-1 entries entries entries) -(part-2 entries entries entries entries) +(define i (read-lines "files/1.txt")) +(part-1 i i i) +(part-2 i i i i) diff --git a/2020/puzzle_2.scm b/2020/puzzle_2.scm @@ -0,0 +1,44 @@ +(define (read-lines . args) + (let ((p (cond ((string? (car args)) (open-input-file (car args)))))) + (let loop ((line (read-line p)) (lines (list))) + (if (eof-object? line) + (begin + (if (and (pair? args) (string? (car args))) + (close-input-port p)) + (reverse lines)) + (loop (read-line p) (cons line lines)))))) + +(define (string-index str tok idx) + (if (not (null? str)) + (if (char=? (car (string->list str)) tok) + idx + (string-index (list->string (cdr (string->list str))) tok (+ idx 1))) + -1)) + +(define (char-count str chr count) + (if (not (= 0 (string-length str))) + (char-count (list->string (cdr (string->list str))) chr + (if (char=? (car (string->list str)) chr)(+ count 1) count)) + count)) + +(define (valid-password entry) + (let + ((idx (string-index entry #- 0)) + (idx2 (string-index entry #space 0))) + (let + ((i (string->number (substring entry 0 idx))) + (j (string->number (substring entry (+ idx 1) idx2))) + (c (string-ref entry (+ idx2 1))) + (s (substring entry (+ idx2 4) (string-length entry)))) + (let ((count (char-count s c 0))) + (if (and (>= count i) (<= count j)) 1 0))))) + +(define (part-1 entries) + (if (not (null? entries)) + (+ (valid-password (car entries)) + (part-1 (cdr entries))) + 0)) + +(define input (read-lines "files/2.txt")) + +(part-1 input)