this repo has no description
3
fork

Configure Feed

Select the types of activity you want to include in your feed.

ft: add day 7 and 8

+536 -53
+1
2021/day7.txt
··· 1 + 1101,1,29,67,1102,0,1,65,1008,65,35,66,1005,66,28,1,67,65,20,4,0,1001,65,1,65,1106,0,8,99,35,67,101,99,105,32,110,39,101,115,116,32,112,97,115,32,117,110,101,32,105,110,116,99,111,100,101,32,112,114,111,103,114,97,109,10,616,0,1633,1048,833,967,161,22,823,601,603,538,340,798,1053,400,54,41,54,296,1336,1013,9,763,650,313,15,177,1289,307,741,314,289,63,183,503,764,187,225,596,273,387,1,1165,61,19,78,514,355,605,103,483,291,1781,1137,398,593,38,444,204,274,528,147,131,1021,812,430,710,257,1408,1587,517,773,218,99,357,301,543,1668,11,311,350,373,145,507,325,1006,696,607,281,433,302,148,519,846,1528,766,158,51,850,216,1320,690,338,298,631,560,306,5,888,242,1230,1694,1330,570,184,946,97,96,272,537,312,1246,847,138,325,28,253,785,483,906,412,28,178,485,828,823,1035,1001,108,1068,90,308,223,18,191,1269,39,238,307,7,643,1546,203,254,371,402,207,666,786,793,361,441,105,15,421,1748,255,152,1376,626,296,707,4,627,885,49,316,34,379,1591,39,1087,135,1515,69,725,419,924,414,78,1169,8,1331,2,771,1295,570,323,9,406,75,42,1003,180,188,174,145,128,625,1312,85,427,56,15,87,449,831,906,34,186,609,1597,531,104,1034,615,608,1338,192,280,982,334,853,1155,194,124,205,1384,135,906,239,761,1357,16,328,623,3,1432,634,1698,31,981,347,75,222,896,77,1204,1272,711,106,772,1366,279,162,98,487,1281,188,71,307,398,470,40,12,459,449,984,1271,260,1132,493,1117,129,36,1040,947,570,89,853,373,102,771,107,266,106,59,485,61,87,353,164,278,1489,542,442,4,62,788,63,130,723,919,1169,327,459,431,1107,992,1162,1287,901,838,638,261,307,761,533,119,336,4,422,173,172,64,222,531,998,1250,1007,20,1231,69,289,531,757,185,519,184,1139,369,2,1102,857,339,1267,1357,217,774,1352,23,136,2,1389,253,87,883,28,247,292,15,332,69,170,20,544,75,850,310,1137,301,155,265,100,842,189,7,584,40,168,22,548,7,30,1027,744,1294,329,100,1255,424,515,460,163,375,26,618,275,1012,935,160,181,84,186,990,1208,152,753,508,590,578,81,625,600,430,306,311,156,5,56,187,25,249,1090,316,224,173,199,71,221,1219,335,87,260,607,121,25,1326,473,224,92,87,734,179,64,325,320,117,302,1247,879,716,984,284,239,738,30,90,61,844,997,823,387,956,842,580,540,648,1947,32,63,380,873,1086,142,512,206,742,584,157,858,1300,992,311,139,906,693,1,36,1320,236,48,58,32,147,34,229,497,1,657,616,309,494,1419,264,595,729,1374,984,74,446,436,77,1516,156,915,565,159,269,263,442,775,12,6,337,115,971,598,87,1283,533,991,204,1382,1204,277,27,801,260,198,426,89,72,458,1164,571,1329,501,1547,125,376,865,642,268,626,167,429,901,623,103,100,1064,125,450,695,28,1470,469,187,119,1363,44,485,1243,1163,507,139,147,72,100,160,624,506,1360,66,444,581,729,531,701,1091,178,476,22,926,354,88,1076,946,213,38,43,125,291,714,113,54,1214,1067,641,374,411,64,1364,415,133,752,372,212,19,1941,780,902,512,852,157,8,175,90,913,125,771,764,381,947,572,391,313,249,201,106,1500,487,107,868,464,984,1471,550,642,196,571,18,306,293,659,1274,290,352,0,528,754,564,316,685,57,293,75,584,251,1107,217,11,21,329,493,175,600,259,380,30,148,556,136,180,12,26,507,199,3,0,143,87,1452,359,989,170,64,269,17,1018,105,317,289,127,275,269,359,511,690,205,423,356,19,177,260,789,51,119,210,1151,707,869,194,773,159,216,759,16,161,47,1254,293,54,504,432,1230,213,26,253,424,98,1515,162,346,326,12,122,79,210,912,55,705,597,369,1381,284,1163,316,34,384,36,1254,1455,994,60,1395,476,100,38,726,198,605,103,489,361,9,24,158,1056,264,1103,175,1423,266,45,93,271,331,673,788,48,12,580,697,593,480,268,559,302,87,281,6,401,170,90,939,543,223,137,809,139,182,571,68,1112,20,1004,1090,249,1435,267,10,375,504,906,946,1503,1362,184,233,112,1058,16,235,548,563,162,102,746,439,105,259,27,19,817,1444,119,175,341,130,202,31,432,480,710,1127,682,454,134,823,168,276,113,914,1112,118,10,1041,902,141,1428,282,485,353,589,906,987,488,144,154,25,930,368,261,176,168,85,814,1915,248,49,1012,3,143,951,30,411,336,46,1383,26,857,1650,192,1477,194,73,154,91,287,229,144,675,989,135,360,74,60,223,219,625,182,793
+200
2021/day8.txt
··· 1 + fdgcea dgefa efabdg fdgcba dab baefc begd ebdfa db bafgdce | gfbcda cgfadb badcefg eacfgd 2 + eagfdb bafdec fdg edgca gf cdbafeg egfcdb bgaf aedfg defba | gfd edagcbf cdfebg gfedab 3 + faecdgb edgf decag cgf agdcbf aefcb gf dgebca fdaceg cefga | fcg fcbae fg aecgd 4 + abcgdfe gebfd eacbdf gc gbc cabdfg dcfab gdcfb gacd acfegb | fabdc cg bdfeg gbc 5 + bgcda cagdf geafdc fbcdge fedag fc egcabdf gfc gfedba acfe | cdegaf dbfgea adefbg afedcbg 6 + degfbc cdeg dcfbae debfc gbadecf begfca egb eg dbfge adgfb | egfdbc ecgfbd dbcagef cafbed 7 + gefacb cdg decgba badgfc edga eabcg dfacgeb dg efcbd dgbec | dg cgabe decfb dg 8 + bafdeg facdgbe dgba gcafbe bd bde gdbfe cegfd agefb ebcfda | gbafec bfgea fgecab cefdba 9 + bfcgea cadfb dfcg afbdcg cg ebgda bcgad acg edbcgaf ebfcda | acgfeb dgbca cegbfa cadbf 10 + bfeadcg gdcea bcagfe becdaf fcgbe bcd bd cbfdeg fdgb dbegc | dcb acged edbcfa dbgecaf 11 + bedafgc bagfce cadgf dbfcag dbca fbdga fgaced agb ab ebdfg | agb ba gdbaf fcbgea 12 + abcgf agdec agbcfd cfd df aefcbg decfba gafcd fbgd dbafegc | fcbag cegad gdace cdf 13 + cgb ecafdb bfdac cg cgfbd cbfega edbfg fbeagdc adcg dgcfba | gbfed fecagb fdbcga afcbd 14 + agcb cfaebdg bc bfedcg dcb degcab beadc dgeca ebfad fdgcea | acbg abcg gcba bc 15 + cgbf dafgce fadgbe bdecfg gdfbe cedab cg gce adfgcbe egdbc | cg cg ecfadg ecgdabf 16 + cd fecagd fbgca cdebfg cgfdb gdebf cbed gdcbfea gdefba dfc | cfd edcb bfdage edcb 17 + agbedc dcagbf af bcdaf bdagc gfbcae fgda bfa cbedf gcedabf | af gabecd dgfcaeb afb 18 + dgebfa adg gbed debfa dg adfgecb fcgea acdbef cafbgd gfade | adgef gd cgfbdae dgfacb 19 + fbc bcfgd fgdeba bdegacf bagfcd cbag afdgb bcdeaf fcgde cb | agfcdbe fcb cbf bc 20 + cgabd bgafc fcaedb bda bgecfad bfceag bd dagec fdbg dafgbc | cdgbefa bfacge ebcfga gfcab 21 + fba dabcge beacfg bdfc bagfd dcagb fgaed bf fbdagc dbcefag | gacbd dgeaf cfdb fab 22 + cebgd ade cbda cgfea dfabeg eadcg agdbec bgdecf ad deacbgf | ecadgfb dabgef beagdf ecgbd 23 + aedgc deafbc fgaedcb cdgfbe acfg edgfc ca cda dcgefa adbeg | acgf edcga cabgdfe gacf 24 + bcagde eg bfcea abgcd gdfcbe bge dabgcf bfegcad gceba aedg | acdgfb fbdgec agbec dbcefg 25 + ebacd decgb ebfac cbgdea adgb efabdcg bfdgec eda cfdaeg da | egdcb bgcdef da da 26 + cfgebd afebd cb cebda dgcae afgdcbe dgafeb bfca ceb bdcefa | bec gaced afedb eadgc 27 + bdcfea ge acfbg efagb bdaef badgefc gadbef eag gfde bdcgae | bcdaef bcefad efcadb gae 28 + befagd fd cbefa dcbega egacfbd efabd edcafg dgbf gedba fed | fde abedf def aedfb 29 + bcd abgcfde dbaf abecdg db dcbef abegcf efacb fabedc dgecf | ebcfd bfda dcb egcafbd 30 + fdbea caefbd gcdafe ecafd efb cedb be geabdcf gfbad fcaegb | baefgc defcab eb cadef 31 + dagec fadge dc cdg egacb adecfg bfgdeca fadegb dcabgf cdfe | fcde agcde efcd cgd 32 + dceabg fbaedc aegfdcb fc cfa cefgad bfadg bdcfa cbef eadbc | fc dcabf cebf afdbc 33 + defabcg febdg bdfega adfg fabcge edfba abedfc bdcge fg gfb | fgb fg fbdaec daefb 34 + fd gfbaec cdf fgced eacfg gfdebca fgda bdfeac cegdb cfadge | dfc gcfedba dfecg agfd 35 + ec bfeacg bdfca acdfe fagdbc eca febacdg ebcd eadgf cabedf | dfcae fecabgd eac aedfgcb 36 + edg dfceb egdcafb gcef dbcga cdafeb cgebd gdfbec eg gfdabe | fcdbeg ge bfaecd ebfcd 37 + ecg bcadfg egfac fgdca fgeab cfdage bceadg fced cgdebfa ce | egfba cfgae dcfe ec 38 + cdeg ec eac efdac dgcaf bagfec dbfeacg aegdfc bfdgca dfabe | efbad egdc afcbdg ce 39 + gbecda cbe egfcba abcdg agfcebd ecda bfedg adgcbf ce bdceg | ceagbd gdabc aced adec 40 + ecbagfd egfbd gafe gcadb bdgae gfbdea gefcbd bea ae cfabde | gdacfeb abedg fbgdec cbedagf 41 + bagfe fdeagc agfebd fbcea dfbca gcfbae cae bgce ec fgacbde | acdfeg ebagf ce efcgba 42 + bf dagcebf fdegc ebcfda geadcb bfc acbfgd acbdg fbga fdcgb | acfbde dbacge cadgb gfab 43 + cagbf bcde bdefag gcfde cdbefg deafgc bfd bdgfc bd dagbcef | fagdec becd dfb fgbca 44 + dbc db dgacbe bgced abde cdafebg dgfeac ebcfg daceg dcfgab | dgcfae dcb daeb bd 45 + bgdfca bag bacefd cbged acbgd faecbg fagd ga cgbafde fabdc | bfdagc acdgb bacdg dfga 46 + eafbcdg ebcafg bdge dga eafdg eafdc efgab dg agdfbc fdaebg | bcedgfa fgbcda bcgadf edgfab 47 + fc gbced efcgb fbage dbefac cgdaebf fcb fdebcg gacedb dcfg | gfcbade dafegbc adfgbce fbegc 48 + ebc cgbfe be bfcdga acfbegd abge abcfg dgfec cfdeba acbfge | dcegf eb badgcfe gabe 49 + decfbg cdbeag decgb fgebc cbf bf agefc fbdgcea becafd gfdb | dceagb dgbf bf fcb 50 + gcbfad aedcg egadb ecgdaf dcfgbae dc cefga fcde adc fabcge | acd bacegf gcefda gdeca 51 + cad fdcbega gedbc dbgfac efdgcb dbeagc eadfg ca daecg cbea | ca abce gfdea gbcfed 52 + afdegbc efgbad fcdge cafg fg efadc geadfc gfd bcdeg cbedfa | gf fgbaed fgabcde cdfge 53 + cefga fda gafced facgd degf fd efdgacb cebfag gbcad deabcf | gbecadf gfabec afd afgcde 54 + bedcf adc cdegbf aecb gcbeadf ebacdf ac eagfd cdfea cgdbaf | adc cbfgdea dca abcgfd 55 + dgab cfbdea gcadbef afdeg ebdfa fgdecb deafbg edg gd cgfae | ebdaf abdg gde cgeaf 56 + dfbae cgadf abfdgce ge ged aegfd debcfg eagdcf geac dfbcga | deg aebdf gcafd egac 57 + eagdb ecd afdc cd cfadgbe gfcdbe bfcgea efcdag adgce gceaf | fedcgb ecdga facd cd 58 + adbgcf fabced gfc afeg dfaec gecdf fg gfcadbe bdecg acgfde | cgf gfc decagf cdfae 59 + fgcda bfgcda bdecaf adc bcfag bdag beagcf ad fgcadeb dcfeg | dgfcba cad fcagd baecfd 60 + dcfe cbagd gdfabe ed abdfec ceabd bde becgaf eadgcfb fabec | dfce eagdbf faebc gacefb 61 + acefbgd abgfe cdgfbe abd fabdce dbfec da cgfdba edac dabfe | fbaeg eabcgdf eagfb afdbe 62 + ecgdfa bdfge bafdg fadcbe bfa bcag ba cgdaf geafdcb agfcdb | fadcg fagecbd baf cfeagd 63 + bcaegf dcfag def bedg gbaefd faged dfceab ed abgef fecbdga | ed dcagefb dgeabfc bdfeag 64 + ecfgadb fcb fgeac fdeba cfbead cefab cdba ecfbgd bc bdgfae | bfc gaebdf cfb afedcb 65 + fecbd efcgabd cfb cf dgbef abdce cbfgae faegbd fbcedg gfcd | febdg bdfegc gfcd defgb 66 + aecdgfb gedfbc agbf cefadb acf adfcbg fa dgfbc egcda dafcg | agfb gaebcdf bgedcaf caf 67 + gc dcbg eagcdb gce cfbgea faedg dceba abdcef acebdgf edagc | bdgfcea dbgc cbgfea bcaefd 68 + gcadb fegadbc afb ecgbfa cdbf bcfagd efagd bfagd abgedc fb | bfcage dbfga gadbf bagdf 69 + gadbefc abgdef gbcfde cef gbfae cdbaf ebfgca abcef ec ecag | fdbca acdbfeg ec ce 70 + adbec cgabfd afcbge dfbgae efcbagd bgeca gc agc bagef gefc | gafcbde gca cga dgcbfa 71 + fdcgba cedab debga cebg adbgef edabgfc bgcade cfade bc acb | gedcba cgbe cdgeab bc 72 + cedagf gcebda gacf afedc aefgd ca cea gdafbe bdgfcea ebfcd | ac cagf fbaedg afedc 73 + fa ecgbfa egabd gedafb dcabfeg gfa dgefa bdaf dcfeg agbedc | cgfbaed dbacgef aebgcf gfa 74 + dgebaf cfbgd dfaecb ef gacefbd bdfce faec ceadb feb cedabg | bdefcag bgfcd ef cdebf 75 + cgad afcbed fdgaceb bfgead egbadc cbedg gd bcade fcegb dgb | feadgbc gbedc bgeadc abdgef 76 + dbefga cbfad ebdcf gdabefc bfe gcfde cgfeda be cgdefb bcge | cgbe eb cebg geabfd 77 + fecda begacf bagfedc ga cag gfcdbe cebfg gabe fgbdca cgefa | efcbg gca eacfd dgcebf 78 + faegcb cfdbe gdfca afecgd cgbdaf adbg gdbfc bfg gb gcdebfa | fbdgac cfdga cadegfb cgfbd 79 + gdefac abecg dgebfca bf defb bgdeaf fgdea abf afegb cbgadf | fdgeab efbd fb abgce 80 + gcaed bdfgeca eafcgd dfegcb fdgce cae befacd ea dagbc feag | ecbdfag gbdac gcbedf cgfebd 81 + cge ce aedcg fagdbc dbgcef cbdaeg abec dfega egdbafc agdcb | dagfe ec adfeg ce 82 + dbfeg ebgdca dgfcab fcae bdfeagc abf gbeca bacfeg af gafbe | afec bfa fgbed fab 83 + gfc dcgae fdgeab abdfg bafc cegfbd cagfd fc fdgcab gbacedf | faedbg gfdba gfadb ebagdfc 84 + dbcega cedba cdg bgfca gd bagcd dfgceb becfda adge cdbgfea | gcd abfcg ebdcfga dbgca 85 + dbf gdafec aegbcdf db fbcdg afgdeb bfgce cdba abfdcg acdfg | egcabfd egcfb cdgfba fbd 86 + gdbca acbfg efcgab eagdfbc edgabf dga eabcd gd bcagdf fgdc | gad dagcb dcfageb cgafb 87 + cebfdg ecbg gdefb dgc cg gecdf egafdb fdcbeag abgcfd eadcf | dabgfec fbgacd badfgc abcdegf 88 + gfb gfcbe egadfb bgcde bdfc cefdbg cfage bfgceda bacdeg bf | fb fb fbg gcebd 89 + edcgfa abecgf dfagbc aef ea acbe fbgcead fdebg fbaeg gabfc | fae ceab fcageb ebfag 90 + bedfcg fgcade caf aefbg dgac ac efdgc fecga fgbecda bfedac | gfbea acf egbfdc agcd 91 + ecgda gab dfab bcgeaf fadegb ab gbfed dbgae dcebfag dcefgb | ebgfd dgbae gbfde gab 92 + aebcdg cgfeabd degba fb dafegb fdcga fdgab gbf abef ebcfdg | eafb eadgbc fgb dgfac 93 + gc cafbeg cdge abdfc fedbg cbg dbgefc edbfag gbcfd gefbdac | fceabg dcge cg gc 94 + eag cafde debg fbedgca bcgadf egafcb gdaec gecbda cdagb ge | gcabed gbcda gedb bdcga 95 + ea ceafgd bdae dcbage gae fgecb agecb abcdfg cgdba eabgcfd | cefgb dcbfag acgdef adgcfe 96 + fbgacde dbfeag bdgcf gaf ga gdacef afcdg afecd aefdbc geac | afg fga gacfd fgaced 97 + dfga acd dgfec acbged acfbe afdce bcdfeg da fagecbd decfga | cda aebgdc fagd caebgd 98 + ebgf edacfg acfedgb aefcb fcg gf ebcafd abcdg cfabg fgecba | cdfgae dbgca deacfb gf 99 + gacbfe abgef cbagf gecfdb fdbea agcdbf eg cgefdba egb agce | efdba eafgb dabfgec cgfadb 100 + afbegd acdgb aeg cegdfa aebdf dbafec gbdafce eg bfge bgeda | afbced bdfagce dacgb bfeg 101 + cag gc agcfde agecbf bceg acebfd agfbd efbac edgfbac gafcb | bfcag cgeb agc cgfabe 102 + ecadgb abe fgeb gbaedf adbfe fdage dgcafe bfdca cfgbade be | ebfcgad aedfg cafdeg dcefga 103 + eagfdbc fbcgea bgf afdbc bdgec faebcd fgcbd fg bgdcaf gdfa | dfbcae fdgcb efacbgd bdacegf 104 + dfag cdfegb fa edfbac cfa egcba fdgcb bfgca bgcdafe dgcfab | fgbca cbfagd acgbfde fca 105 + fb bdfg gfebc edbcg beadgc adfceb gcfea efb febcdg fdbecga | agcfe bf gbcef gdbec 106 + ecfgabd ebfcg decbaf cgfab ecfbdg be bce gedb dcgef fdcgea | begfc acbgf gfcba eb 107 + cg ebadgc dceba fegcba bcdfea acgdbfe cegd bcg abdgf dbagc | abcde cg gc gbc 108 + bfc acegbf febacd ecdba cf dcfa dbcef dfgeb bgdcae bcfdega | fbcgea fbc fbecda fdca 109 + agbfd gfeabc ad dfa adgc bagfc gfbacd gfdeb fegbadc fcdbae | fad dgca gdefb afbcg 110 + bcgead ecagb fcagb gcbedaf dage ea bea afedbc cdgfeb cebdg | gbdec eba edfbca agfdcbe 111 + abcg age eadcbf ga gdeafb ecfgd becda cegad efbcdga adcgbe | eabfdg fdceg cedga cgdae 112 + fbd cbgd dgcfa cbdaf fbdage db gecafd bacef cdbagf fcdbgea | facbd bgdc db cbaef 113 + fbdca fdcgeab gfbc gcbad gdc abged bafdgc gc gcdfea cdbeaf | adgcb fegacdb cafdeb geabd 114 + bdafc cegbdf gd gbafec fgecb fdg aebfgdc dbgfc abfdge edcg | cdfbg dg edcg afdbc 115 + gbaefd caefg dbgae fb ebafg cagdbe bcadfe fgdb ebf cedfgab | gedcba bf fgbd bdfeagc 116 + da abcfdg gaecf bdaf bcdgea gecafdb cad cgbefd fgcdb cdgaf | dbcaeg bdaegfc dbfcage bafd 117 + gecba aegcf aefcbd gecdbf af gdfa cfa fgaecd cbdfega dcgef | fa eadfbc cbega cfage 118 + be agfedc fdega egcfadb fbeg eba cfdeab afegdb dbega dbgca | adgef gebf gdfbace gfeb 119 + fg gfe bgfae gdfa dabcfe ebafdg fdcebg abdef gbeac bedfacg | gef adfg fg fge 120 + ad fdgceb becdag gecfd afdge daecgf fbegdca afcd dae geabf | cadf dbagce ad dfac 121 + fgaedbc dbfae ceda egbcf bacfdg efbdca fdeabg ca cfa cfabe | gdefbac abfed ac dfcaeb 122 + fgbdca cdaefg bafge ac gca cgebfd bafdecg cadb gdbcf bfacg | egdcaf cgebdf gca agc 123 + cg cdabfe bfaec bagfce gfdabc fcg efagc ebfgcda edfag cgbe | bgce cgf gfc gcadbf 124 + caeg gaf gfcade cgfad bedgcfa fdcea ga bdgfc aefbdc gdefba | cfaed cefad fadgeb dgfca 125 + fbgad gbf fcdabge cegfab gadbc gfead fb aedbfg befd adgcef | gabcd bf acgdb bf 126 + gebaf bgeadf gcabedf edfca feadg dg gfdbca eagbcf gdbe gad | egdb ebfag dga ebfacg 127 + dcgabe gcb adcfbg agfbe bc afgcd bfcga adfecg bcdf bfacged | dcgfa cb dgabfc cgb 128 + ebafc debc efgdab fcb aefbd gaefcdb bc dcgfab abefcd afecg | agefc baecf ecbd bcf 129 + gfbdc de badfcg dge befga gfebcd cdef egfdbca ebdgf bgedca | ecfd dfgcb edfcabg dcabgf 130 + gaceb bad dfgabe dbfecg fdebg cebagdf gdbae adfg dbfeac da | eabdg dgfa afegdb agebfcd 131 + dfabg gdfeb da gdcabf abgfc bcgafe fadc adbgec gda gcebdfa | gda ad afcgb efgbd 132 + fdcaebg dbagfc edagb ca gacbd gcfa acedbf gefcbd cab cdbfg | cba geabd cbgda bac 133 + dfegc agc ca bacfgde adfgce adceg fcad efbgdc geafbc daebg | gdaeb gbade gca gdace 134 + bfedgac gedb abefg dacef gedbaf gadfbc db dab cgbefa afbde | edabf gfcbad dafcgeb bad 135 + fcbgea gba decgba gfdace gdeac bgdac afcgedb bdge dafcb bg | begd gcbfdea bg daegc 136 + egfab afc cdgba gfcbad cbgeda bgafc dfabec gfdc bacefgd fc | fc bceafd gabcd dfabcge 137 + cf cdabge cegda fgec cbfade acf eagfcbd acgfd bfgad gcfaed | cefgdab cdaebg gedfcab facegd 138 + ca ebdcf cda dfeac fdgeba agfebdc dbcagf dfage afecdg gaec | eacg adc efdgab dac 139 + dc gfcdeab cgfaed facge gdeba dfcg dca bfaced gdaec aegcfb | fdcg fbecag egdafc efagbc 140 + dbcfa fdaecb afg cafgbed cadfbg ga cadgfe cbga fbedg dbfag | bdegf gcaefd dagbf fdeacb 141 + defbgc cfgeabd cefgd gdc eabfgc afedg afdgcb dc bcefg cdbe | gadbcfe ebfgc decfbg gfecdb 142 + egad fedac dgfeca cdg efacdb dcbafg fgcbe gd dcfeg cebfdga | cgd dg gdc gadbcf 143 + dfe gcde dgfbe fbecad gdbaf faebgc ed gfebcad ebfgdc bgfec | cdeg gdec ebfdgc ed 144 + dgabefc cdbefa aedfb abdc becfd fagedc dcf cd bcgfe fbgead | fdc dfc bcad dc 145 + acgbf ebgfad bgcad cdbge dfcebg dcaebg ecda da fbcgdea abd | facgb gacdb egcabfd dcbgef 146 + acbe afgbcd adc bedcag ebgcd gdeac eacgbfd fedga ac gfbcde | dcbeg aceb gbdce fedga 147 + gfabd gcedab eb ecgdbaf ecdb egdacf egb degca bdega bgfcae | be gfacedb cgdaefb ecbagd 148 + fadgc dgfe eafdgc agfedbc gbdeca gcafe gd cbgeaf bdafc dgc | gecdabf dbecga efadcg dafecg 149 + bgc aecfg fadceg bcgeaf fdagb afgcdbe febc bc fagcb egcabd | cfbe cbfag bdgfa cgeafb 150 + fadecg cea dagcf cfed ce bdgae geacd eabdgfc afbcge dfcagb | adgce dacfg gcaefb ce 151 + cb dcgb fbc abgfcd ebdgfa acdfbe efgca afdcbeg fbagd cfbga | cb bdfcea fcdagb dgcb 152 + gadebc ag cabgd acbed dgbfc eafbcd bfadecg abcegf bga aegd | aegd bedacf gade egad 153 + fdagc acegd aecdfb adfbeg abdce becdga egd agbdecf ge gceb | acdeg fdbaec ged gebc 154 + ade afbceg aefcg gdac da dgfae gbdef acdgef bdefgca adbfec | bgcfae ad bdgefca dgfae 155 + fdcage eafcg df fgecd bcafge cdf cgdafeb gbdce dbagfc fead | cegfa cgedb fd gaefc 156 + ebdac cbaefd dbaeg gbafec cfed ecfab bfdegca dcb bfacdg dc | dcagfb caebd fcbade bdc 157 + gdae eac ecdfgb afceg efdgc acefdg fbcag ae cfabedg abdefc | afdbcge eacfdbg cae dega 158 + facgb eacbdg efdcab cg acefbgd bafcd efagb cfbdga gcdf bcg | dbafc eafbg gdbace bgc 159 + cdb bd ecdfgb ecdbg dgcfe becga cbgadf fdgcea dbecgaf defb | bd bcgafd cbgafd gbdcfe 160 + dgfebac dcb dagec cgbe afdbe dceba dgbaec dcgfba fedgac bc | gecb bc gbce bc 161 + ecadbg eabgfd gfbc abgdcef dbcge bf dcebgf cdbfe fbd fdaec | cegfdab gdfeab fbd gfebdca 162 + gcdefa edab ed ecd cdbfea dfecbga cebfa dcbef abfgce gcbdf | bfcdg agdfecb gcabfde acgefd 163 + begacf bafce cfa fc beafd agbce cbgf gcdeba cfdaeg fcebagd | afecbg gabcfe fc cf 164 + dbacfg ab adbf caegfb abc gcdeafb dfgeca dacgb gcafd cebdg | ab bacdg ab gdbcfea 165 + dfga afcbd fbcag ceagdb fagcbd dac da gcaefbd fbdec ebfgac | dfecb bfcga da dcfeb 166 + bdeca bcfdg feabgd bgfecd eacfdbg cdfbag fgce debgc ebg eg | ge adfgcb gdaecfb eabdgf 167 + dfe aefcbgd dcgbe df dbfc gcdabe cedfbg gfbed abgfe efgadc | bfgced ecgbd egcdfa fd 168 + adebgf dbcae af dbgeac gedbcfa cdgef efa cbaf dbcfea efcda | acfb ecgabfd fa fea 169 + gd efgab egdf daegb bfgaedc edacb abcegf fcdbag gda agdebf | dag gbadfce gd bgdeafc 170 + dgcfb bcgafde fdc cfbeg gdefac fd gfbaec dfebcg befd bgadc | fd ebfd fd defb 171 + eafdg cdfgab bdac gfbda fdbgc abgfdec afb cbdgfe ab gefcba | efabcg abdc gcfdb afdge 172 + feadcb gdcbfa dbafc gfbdcae fedga aceb cgbefd faced ec cde | efdca cdaef ecbgfad fdcbag 173 + gade feagb dgefb fga bdfecg dgbacf ebfgda ga cbeaf bfeadgc | ebgfd cagdfb gfbdeac ag 174 + ebgdacf acdgb dfg dgacf cgefbd acgfed bgcafe fd cfega feda | cgeaf fcdega cadfeg dfgabce 175 + dcea egcfba de gecabdf degbfa fcbgd egd begca degabc bdgce | bgdeaf deg aedc edca 176 + fdagec dbfa acf af afbecdg edbgcf fgbcd bafgc bdagcf baceg | af acf bdfceg edbcfg 177 + gfeac bgfaec gdaebfc cb aefgdc beadf ceb acdbeg bcefa gfcb | cfebgad egcdba ebcfa bdgeac 178 + cfdbg dfbega agfbdc cdfa dagcbe dc dbfag dcaefbg begfc cdg | cd aegcbfd fbadg fdacebg 179 + fbagdec gbadfc egb ecgfba egfab gebdac fgec fbdae cgabf ge | abedf caegfbd afgcb beafcdg 180 + bgeadcf acdgb gfadbe fgcab efbcda dg bgdaec ebacd dgb cged | dg dbg gd gd 181 + dcbeg gab bafegcd cgdba acgefb bgafcd acfgd dfba ba eafgcd | dgcefa abg adfb gba 182 + fb acfgd fabedc acfbd debca gdcbae efbdgca afeb gdfebc bcf | dgafc agfcd fb fb 183 + cedgfb egdca gcabde ac dbecg cfbead bcedgaf gfdea cda agbc | ac gceda gbca agbc 184 + ceda cebagdf ec fagde cbfged fcedga gaecf ecg dbgefa cabgf | dace dacgef gec gfcedba 185 + ge egab febad fgaed fdgaeb afgdc fcgedb ged gadefbc bfedac | ge acegbfd egab ageb 186 + dgebfca fcd gbcfa cfadb cdfbeg fegcab adfbe bcfdga dc agdc | fcd ebfad gfcbda fcd 187 + cbgafd fgea bfedga dfa fgedbc bfdae efbdacg af febgd bdcea | dafbe dgbcfe efga af 188 + edcfba agfbd agcdfbe abg ga ecabfg aedbf aegd gdbcf fdaebg | faedb bag edfab fcdgb 189 + bed fecadg dabcge cadeg cgbd afcbe gedabf bd cabed faedbgc | deb fcdgeba gbeacd cedagf 190 + aefdcbg gedbfc fdg cgfb dfaeb fcagde dgcaeb gcedb efbgd fg | gdf bgdec bcegd gbedf 191 + beacdg gadcf bdcgefa bgdcfe fb eacbg beaf febacg bafcg fcb | dcaegfb cbf egdbca dgcfa 192 + dgcaf bdgaef egfbdca aef edcabf ef agdbe cagebd feagd efbg | badecg egfdba dbegafc gfbe 193 + ecfab fdgae cbdefa dafce acbegfd acd cbed cefgba cd acdfbg | ebcd fceadb cbeagf bdacef 194 + cdage aecfgd afecbdg dcafg adgcbe eagdfb fd gfcab edcf fdg | cgedab gdf fgd gdf 195 + gabfc bca cbefgd cgea abdecf ca cbfgead caefbg gfceb abfgd | begcdaf ca ceag fgceb 196 + cdfbgea gcad dfcbg cgbfea agf bcadgf fdabg aefdb cedgfb ga | gbdcf cdag bcdfg fdbegc 197 + fc gbefdc abfecg egcab aefc acgfb bcf fbeadgc adbegc agfbd | cfgba adfbgce cf cbagf 198 + beadcg cgbf dfegb bg adbfecg gecfdb fegad bfced eabfdc egb | gdfae cgbdef gadef gfcb 199 + gbeadfc dcebg gc dgac adegcb egbfd gec afbdec decab afbgec | egabcdf agcedb cfegab egbdc 200 + adgebc gea afcdg fgbade dbaec bcdfae cdfgaeb gcaed ge ecbg | ega dagebf gdfbae gbdeac
+335 -53
2021/solutions.livemd
··· 3 3 livebook:{"persist_outputs":true} 4 4 --> 5 5 6 + <!-- livebook:{"persist_outputs":true} --> 7 + 6 8 # Advent of Code 2021 7 9 8 10 ## Setup ··· 13 15 ]) 14 16 ``` 15 17 18 + ```output 19 + :ok 20 + ``` 21 + 16 22 ## Day 1 17 23 18 24 ### Load input ··· 23 29 |> Stream.map(&String.to_integer(String.trim(&1))) 24 30 ``` 25 31 32 + ```output 33 + #Stream<[ 34 + enum: %File.Stream{ 35 + line_or_bytes: :line, 36 + modes: [:raw, :read_ahead, :binary], 37 + path: "day1.txt", 38 + raw: true 39 + }, 40 + funs: [#Function<47.58486609/1 in Stream.map/2>] 41 + ]> 42 + ``` 43 + 26 44 ### Task 1 27 45 28 46 <!-- livebook:{"break_markdown":true} --> ··· 33 51 stream 34 52 |> Stream.chunk_every(2, 1, :discard) 35 53 |> Enum.count(fn [a, b] -> a < b end) 54 + ``` 55 + 56 + ```output 57 + 1688 36 58 ``` 37 59 38 60 ### Task 2 ··· 63 85 |> Enum.count(fn [a, _, _, b] -> a < b end) 64 86 ``` 65 87 88 + ```output 89 + 1728 90 + ``` 91 + 66 92 ## Day 2 67 93 68 94 ### Load input ··· 91 117 end) 92 118 ``` 93 119 120 + ```output 121 + #Stream<[ 122 + enum: %File.Stream{ 123 + line_or_bytes: :line, 124 + modes: [:raw, :read_ahead, :binary], 125 + path: "day2.txt", 126 + raw: true 127 + }, 128 + funs: [#Function<47.58486609/1 in Stream.map/2>] 129 + ]> 130 + ``` 131 + 94 132 ### Task 1 95 133 96 134 ```elixir ··· 105 143 h * d 106 144 ``` 107 145 146 + ```output 147 + 1499229 148 + ``` 149 + 108 150 ### Task 2 109 151 110 152 ```elixir ··· 119 161 h * d 120 162 ``` 121 163 164 + ```output 165 + 1340836560 166 + ``` 167 + 122 168 ## Day 3 123 169 124 170 ### Input ··· 143 189 end 144 190 ``` 145 191 192 + ```output 193 + {:module, Day3, <<70, 79, 82, 49, 0, 0, 7, ...>>, {:count, 1}} 194 + ``` 195 + 146 196 ### Task 1 147 197 148 198 ```elixir ··· 160 210 end) 161 211 162 212 a * b 213 + ``` 214 + 215 + ```output 216 + 3847100 163 217 ``` 164 218 165 219 ### Task 2 ··· 191 245 o2 = List.to_integer(Day3.Task2.reduce(stream, &>/2), 2) 192 246 193 247 co2 * o2 248 + ``` 249 + 250 + ```output 251 + 4105235 194 252 ``` 195 253 196 254 ## Day 4 ··· 263 321 end 264 322 ``` 265 323 324 + ```output 325 + {:module, Day4, <<70, 79, 82, 49, 0, 0, 15, ...>>, {:all_in, 2}} 326 + ``` 327 + 266 328 ### Task 1 267 329 268 330 We simply traverse the `numbers` list aggregating the numbers (order doesn't really matter, ··· 280 342 bingo -> {:halt, Enum.sum(Day4.not_matched(bingo, matches)) * elem} 281 343 end 282 344 end) 345 + ``` 346 + 347 + ```output 348 + 34506 283 349 ``` 284 350 285 351 ### Task 2 ··· 303 369 end) 304 370 ``` 305 371 372 + ```output 373 + 7686 374 + ``` 375 + 306 376 ## Day 5 307 377 308 378 ```elixir ··· 334 404 def horizontal?(a), do: a.start.y == a.finish.y 335 405 def vertical?(a), do: a.start.x == a.finish.x 336 406 337 - def intersect?(a, b) do 338 - a.start.x in b.start.x..b.finish.y and b.start.y in a.start.y..a.finish.y 339 - end 340 - 341 - def overlapping?(a, b) do 342 - {a.start.x, a.finish.x} == {b.start.x, b.finish.x} or 343 - {a.start.y, a.finish.y} == {b.start.y, b.start.y} 407 + def points(a) do 408 + case {sign(a.finish.x - a.start.x), sign(a.finish.y - a.start.y)} do 409 + {0, dy} -> for y <- a.start.y..a.finish.y//dy, do: {a.start.x, y} 410 + {dx, 0} -> for x <- a.start.x..a.finish.x//dx, do: {x, a.start.y} 411 + {dx, dy} -> Enum.zip(a.start.x..a.finish.x//dx, a.start.y..a.finish.y//dy) 412 + end 344 413 end 345 414 346 415 def orientation(a) do ··· 350 419 true -> :diagonal 351 420 end 352 421 end 422 + 423 + defp sign(0), do: 0 424 + defp sign(x) when x < 0, do: -1 425 + defp sign(x) when x > 0, do: 1 353 426 end 354 427 end 355 428 ··· 364 437 365 438 Day5.Line.new(pa, pb) 366 439 end) 367 - 368 - x_min = 369 - lines 370 - |> Enum.map(& &1.start.x) 371 - |> Enum.min() 372 - 373 - x_max = 374 - lines 375 - |> Enum.map(& &1.finish.x) 376 - |> Enum.max() 440 + ``` 377 441 378 - y_min = 379 - lines 380 - |> Enum.map(& &1.start.y) 381 - |> Enum.min() 442 + ```output 443 + #Stream<[ 444 + enum: %File.Stream{ 445 + line_or_bytes: :line, 446 + modes: [:raw, :read_ahead, :binary], 447 + path: "day5.txt", 448 + raw: true 449 + }, 450 + funs: [#Function<47.58486609/1 in Stream.map/2>, #Function<47.58486609/1 in Stream.map/2>] 451 + ]> 452 + ``` 382 453 383 - y_max = 384 - lines 385 - |> Enum.map(& &1.finish.y) 386 - |> Enum.max() 454 + ### Task 1 387 455 388 - {x_min, x_max, y_min, y_max} 456 + ```elixir 457 + lines 458 + |> Stream.filter(&(Day5.Line.orientation(&1) != :diagonal)) 459 + |> Stream.flat_map(&Day5.Line.points/1) 460 + |> Enum.frequencies() 461 + |> Enum.count(fn {_k, v} -> v > 1 end) 462 + ``` 389 463 390 - arr = Nx.iota({1000, 1000}) 464 + ```output 465 + 5197 466 + ``` 391 467 392 - arr = Nx.subtract(arr, arr) 468 + ### Task 2 393 469 470 + ```elixir 394 471 lines 395 - |> Enum.flat_map(fn a -> 396 - case Day5.Line.orientation(a) do 397 - :diagonal -> [(a.start.x - a.finish.x) / (a.start.y - a.finish.y)] 398 - _ -> [] 399 - end 400 - end) 472 + |> Stream.flat_map(&Day5.Line.points/1) 473 + |> Enum.frequencies() 474 + |> Enum.count(fn {_k, v} -> v > 1 end) 401 475 ``` 402 476 403 - ### Task 1 404 - 405 - ```elixir 406 - %{horizontal: horiz, vertical: vert} = Enum.group_by(lines, &Day5.Line.orientation/1) 407 - 408 - horiz = Enum.sort_by(horiz, &{&1.start.x, &1.start.y}) 409 - vert = Enum.sort_by(vert, & &1.start.x) 477 + ```output 478 + 18605 410 479 ``` 411 480 412 481 ## Day 6 ··· 421 490 |> Enum.map(&String.to_integer/1) 422 491 |> Enum.frequencies() 423 492 |> Map.merge(initial, fn _, a, _ -> a end) 493 + 494 + defmodule Day6 do 495 + def next(%{0 => next} = population) do 496 + 1..8 497 + |> Map.new(&{&1 - 1, population[&1]}) 498 + |> Map.merge(%{6 => next, 8 => next}, fn _, v1, v2 -> v1 + v2 end) 499 + end 500 + end 501 + ``` 502 + 503 + ```output 504 + {:module, Day6, <<70, 79, 82, 49, 0, 0, 7, ...>>, {:next, 1}} 424 505 ``` 425 506 426 507 ### Task 1 427 508 428 509 ```elixir 429 510 1..80 430 - |> Enum.reduce(counts, fn _, %{0 => next} = acc -> 431 - 1..8 432 - |> Map.new(fn idx -> {idx - 1, acc[idx]} end) 433 - |> Map.update!(6, &(&1 + next)) 434 - |> Map.put(8, next) 435 - end) 511 + |> Enum.reduce(counts, fn _, acc -> Day6.next(acc) end) 436 512 |> Map.values() 437 513 |> Enum.sum() 438 514 ``` 439 515 516 + ```output 517 + 343441 518 + ``` 519 + 440 520 ### Task 2 441 521 442 522 ```elixir 443 523 1..256 444 - |> Enum.reduce(counts, fn _, %{0 => next} = acc -> 445 - 1..8 446 - |> Map.new(fn idx -> {idx - 1, acc[idx]} end) 447 - |> Map.update!(6, &(&1 + next)) 448 - |> Map.put(8, next) 449 - end) 524 + |> Enum.reduce(counts, fn _, acc -> Day6.next(acc) end) 450 525 |> Map.values() 451 526 |> Enum.sum() 452 527 ``` 528 + 529 + ```output 530 + 1569108373832 531 + ``` 532 + 533 + ## Day 7 534 + 535 + ```elixir 536 + input = 537 + File.read!("day7.txt") 538 + |> String.trim() 539 + |> String.split(",") 540 + |> Enum.map(&String.to_integer/1) 541 + ``` 542 + 543 + ```output 544 + [1101, 1, 29, 67, 1102, 0, 1, 65, 1008, 65, 35, 66, 1005, 66, 28, 1, 67, 65, 20, 4, 0, 1001, 65, 1, 545 + 65, 1106, 0, 8, 99, 35, 67, 101, 99, 105, 32, 110, 39, 101, 115, 116, 32, 112, 97, 115, 32, 117, 546 + 110, 101, 32, 105, ...] 547 + ``` 548 + 549 + ### Task 1 550 + 551 + ```elixir 552 + mean = Enum.at(Enum.sort(input), div(length(input), 2)) 553 + 554 + input 555 + |> Enum.map(&abs(&1 - mean)) 556 + |> Enum.sum() 557 + ``` 558 + 559 + ```output 560 + 336721 561 + ``` 562 + 563 + ### Task 2 564 + 565 + ```elixir 566 + arith_sum = fn n -> div(n * n + n, 2) end 567 + 568 + max = Enum.max(input) 569 + 570 + 0..max 571 + |> Enum.reduce(:infinity, fn n, acc -> 572 + sum = 573 + input 574 + |> Enum.map(&arith_sum.(abs(&1 - n))) 575 + |> Enum.sum() 576 + 577 + if sum < acc, do: sum, else: acc 578 + end) 579 + ``` 580 + 581 + ```output 582 + 91638945 583 + ``` 584 + 585 + ## Day 8 586 + 587 + ```elixir 588 + input = 589 + File.stream!("day8.txt") 590 + |> Stream.map(fn line -> 591 + line 592 + |> String.split(" | ") 593 + |> Enum.map(fn part -> 594 + part 595 + |> String.trim() 596 + |> String.split(" ") 597 + |> Enum.map(fn disp -> 598 + disp 599 + |> String.to_charlist() 600 + |> Enum.sort() 601 + |> List.to_string() 602 + end) 603 + end) 604 + |> List.to_tuple() 605 + end) 606 + ``` 607 + 608 + ```output 609 + #Stream<[ 610 + enum: %File.Stream{ 611 + line_or_bytes: :line, 612 + modes: [:raw, :read_ahead, :binary], 613 + path: "day8.txt", 614 + raw: true 615 + }, 616 + funs: [#Function<47.58486609/1 in Stream.map/2>] 617 + ]> 618 + ``` 619 + 620 + ```elixir 621 + input 622 + |> Enum.map(fn {_, output} -> 623 + Enum.count(output, &(byte_size(&1) in [2, 3, 4, 7])) 624 + end) 625 + |> Enum.sum() 626 + ``` 627 + 628 + ```output 629 + 390 630 + ``` 631 + 632 + ```elixir 633 + defmodule Day8.Task2 do 634 + def a --- b do 635 + MapSet.difference(a, b) 636 + end 637 + 638 + def a +++ b do 639 + MapSet.union(a, b) 640 + end 641 + 642 + def a <~> b do 643 + MapSet.intersection(a, b) 644 + end 645 + 646 + def a <|> b do 647 + (a +++ b) --- (a <~> b) 648 + end 649 + 650 + # 1. 7. 4. 2|3|5. 2|3|5. 2|3|5. 6|9|0. 6|9|0. 6|9|0. 8. 651 + def deduce({cf, acf, bcdf, acdeg, acdfg, abdfg, abdefg, abcdfg, abcefg, abcdefg}) do 652 + a = acf --- cf 653 + eg = abcdefg --- (acf +++ bcdf) 654 + bd = bcdf --- cf 655 + abfg = abdefg <|> abcdfg <|> abcefg 656 + b = abfg <~> bd 657 + f = abfg <~> cf 658 + g = abfg --- (a +++ b +++ f) 659 + d = bd --- b 660 + c = cf --- f 661 + e = eg --- g 662 + 663 + {a, b, c, d, e, f, g} = 664 + [a, b, c, d, e, f, g] 665 + |> Enum.map(&extract/1) 666 + |> List.to_tuple() 667 + 668 + [ 669 + # 0 670 + [a, b, c, e, f, g], 671 + # 1 672 + [c, f], 673 + # 2 674 + [a, c, d, e, g], 675 + # 3 676 + [a, c, d, f, g], 677 + # 4 678 + [b, c, d, f], 679 + # 5 680 + [a, b, d, f, g], 681 + # 6 682 + [a, b, d, e, f, g], 683 + # 7 684 + [a, c, f], 685 + # 8 686 + [a, b, c, d, e, f, g], 687 + # 9 688 + [a, b, c, d, f, g] 689 + ] 690 + |> Enum.map(&List.to_string(Enum.sort(&1))) 691 + |> Enum.with_index() 692 + |> Map.new() 693 + end 694 + 695 + defp extract(a) do 696 + [v] = MapSet.to_list(a) 697 + 698 + v 699 + end 700 + 701 + def decode(matches, output) do 702 + output 703 + |> Enum.map(&matches[&1]) 704 + |> Integer.undigits() 705 + end 706 + end 707 + 708 + input 709 + |> Enum.map(fn {input, output} -> 710 + input 711 + |> Enum.sort_by(&byte_size/1) 712 + |> Enum.map(&MapSet.new(String.to_charlist(&1))) 713 + |> List.to_tuple() 714 + |> Day8.Task2.deduce() 715 + |> Day8.Task2.decode(output) 716 + end) 717 + |> Enum.sum() 718 + ``` 719 + 720 + ```output 721 + warning: variable "abdfg" is unused (if the variable is not meant to be used, prefix it with an underscore) 722 + solutions.livemd#cell:19: Day8.Task2.deduce/1 723 + 724 + warning: variable "acdeg" is unused (if the variable is not meant to be used, prefix it with an underscore) 725 + solutions.livemd#cell:19: Day8.Task2.deduce/1 726 + 727 + warning: variable "acdfg" is unused (if the variable is not meant to be used, prefix it with an underscore) 728 + solutions.livemd#cell:19: Day8.Task2.deduce/1 729 + 730 + ``` 731 + 732 + ```output 733 + 1011785 734 + ```