From 02a61cefbeed92208efee5f534a1fd36c0bc5962 Mon Sep 17 00:00:00 2001 From: Brian Buller Date: Sun, 6 Dec 2020 10:31:50 -0600 Subject: [PATCH] 2020 Day 6 Complete --- 2020/day06/input | 2248 ++++++++++++++++++++++++++++++++++++++++++ 2020/day06/main.go | 74 ++ 2020/day06/testinput | 15 + 3 files changed, 2337 insertions(+) create mode 100755 2020/day06/input create mode 100644 2020/day06/main.go create mode 100644 2020/day06/testinput diff --git a/2020/day06/input b/2020/day06/input new file mode 100755 index 0000000..72399bb --- /dev/null +++ b/2020/day06/input @@ -0,0 +1,2248 @@ +we +euw +we + +czaxvodqbsjeytwhurpg +gclajqykpmxfbohvtedzwrus + +dxoznjqhwuvblprgekyfcm +ghbozdkxqjevwfrypcnul +rxpjtgwvuoeqfhlkncdbyz + +ralobiy +lyairo +rzyailop +falyismnr + +rvwzm +rm +rm +rm +mr + +purjnligxyzmfbh +ulfxmivrhnbq +mfhrnxbwuil +bdmrahucxqlfins +nmkeafixhbulr + +vgqjuk +tjlou +upljm + +kyevcgxzljtu +czkevygjoxltu +ujxegyltvckz +cyeztvkulxgj + +nj +jn +nj +jn + +ewdrahozqptylubxskgcv +qenzcgprkhoxltadsubyw +uoskeaqrgdplxtzbyhwc +xpyuartbowhcegkzsqld +ywpozkblrcuageshtdxq + +jzkqs +twelgfpyn +juzrbxdso + +ocqflkxdwbu +lpvsgniazehtjr + +khfijnszyrgupqaomx +csehqtuzbgnojkrxmv + +m +m +sh +m + +yxbigdas +psxrmajzilbcftk +sxbyinuvoa +usegdbxiaw + +ezlfkwt +eklft +etvbhluafxscnp + +vswdrciajbnufxpkm +uridvfbxkmnacsjwp +asvfkrpxcbmdniwju +mfjbdauspwkxrivnc +cjiwmknsdpvbxafru + +sqidvpzjbfxlntyomhkarcu +vznqykmxaupfbtdrcoh + +qstyakgcifh +sfkqictg +vlcsizqgtbmkf +sbckrugvtfiq + +vgbmj +bamjvgi +mszcybg +igmb + +wdeych +yhdwec +yhcwde +hdcwey + +ptzmolyxkbjaecgshfid +jzycdaflqbpesviotmgw + +wikvsjy +jwvfiy +vwjiy +yjiwfv +vjyiw + +smgd +xgdsm +gmds +gmsd + +tgxhilencfaduz +mulrcfpeqidtgnxa + +kjgy +mautbnlds +piezhc +cyx + +esxuzqa +exupzaqs +sdxqatlzeu +ufxspazeq +xwuszqea + +fak +fk +fk +fk +fk + +xvtzoyiq +sziqyovx +yloiqvzx +oziqyxsv + +wb +bvz +zby + +dbnmwchzqavgxs +plawsmdqgfthixn +goqcsxdhmeajwn + +enogjl +icmjxdbwoa +vohwuixj +jvo +fokqjt + +sedzmian + +mpfijqk +dnwlotuv +fcbaj + +c +omp +yk +w + +u +fq + +qkvm +qvlmk +vmq +bvmrq +ifmqxagvu + +tkmapfqrwzxn +zmrpwnkxtqfa +ftqkampxnrzw +waqfrpxtnkmz + +znmlgefvodhywbpx +vslwxbhupjqa + +efo +eaw + +lf +mqux +k +y +k + +jxcynmtkhlue +rkxhtuyjlz +uyezktxrb +fysxqktaovw + +fvsyztlrbmukhnoagxd +mpcauqvzgilsorxdnb +oadlgnzsurxmfvb +sbdoelzmvnrgaxu +snxtdramgvuzbokl + +znc +uazi +odamuz +zju + +n +n +n + +msuxdewqgoya +jsyoaup +sjazuylo +zapousty +auofsyzt + +rak +syzlc + +wtvyqfumsodjplraezkg +mjzktywdcvluaerpqfos +jzrovtwlpqusmeayfdk + +fp +ws +opf + +xjp +zbgj +ljzf +fbj + +w +w +wx +xw +cw + +lwxbqfcmvuyoi +fi +fgpnti + +lpxmcsq +mpcqht + +fuyx +kheslrvmo +ax + +fbx +bcx +cbx +xb + +hncwogykebflqpruazjmidx +thgpiucndxlawfyoekjbmzrq + +sodcjlveytb +eldjictpbv + +edafplnw +fw +wf +fwx + +dgvqliaxyfrkbosmucn +calndmksbqiyhrox +mkabsonxdqlryci +mrlxyikancsbdoq + +ieyldok +ykldoei + +vyah +hxyev +cyrqhvfd + +fexskjpcgzvltyrou +pxviozhjylwetnc + +wpeimqgotbrdjy +omrwgqdpjti +wojgrdqhtpim +jpgqtiwhmodr + +nrutmvycdpalhjixeqfso +ojvhtrxpgcdeukasm +amozrvdjtsxhguepc + +rfyqnmoix +rxo +olxr + +upjcoawvbiqtgerx +zdufmyoaxksjhlg + +cedjq +sdecvgxqjno +idecqj +cilkmdqje +dqerjcm + +tgfnq +m +pziohc +pl + +xv +vxy + +mqatcklidyjxzoewb +iljoazdtwqxecmykb +wlqtxyzjmckeouaib + +kiuhoxpqaefgwdjblm +jdbeqmhaipfwuxogls +hzybqgiwomxfueplajd +fodibgexuwjpmlqha +mfobdkwihxpjasqelgu + +oubae +uebaxo + +ozspjekdlxcvgwn +zjonpldkfgeswcx +qdbjkwnpyhezxcusog + +uwptn +xbhtwdkuv +wtnu +fwjutz + +iwsvtckjulezdnxabo +elspdwmvxianjctuzbo +qtikalzvydujbncxweogs + +valcwrzboskdpxeq +laknzihxgfdqrbpov + +wtj +jwton +jywt + +qnbkfilghao +xoihp +wioph +hiocdszx + +dx +dbg +idopfrqk +wdyhemtjc +kloifd + +tvuey +taemv +dgeophtq +wsvtane + +htmqiurgfzewbnspad +pejhgqvnmdzbfwrkixasu +pheiqalzdyugscrbnmowf + +nyub +yrgunqbvi + +flt +ftlr +ftl +ftl + +svkchrbp +mcx +krgc + +vmpanewckdblu +ofxrhqytsgzjvi + +gio +icoq +jtoi + +j +w +e +w + +yfhgcwzk +krcfhetgy +yerunchgfsk + +mofzbljpiyct +bymcjp +mcjybp +juycmpb +bcxpymj + +kaqri +iaqkr + +tdsfr +rsad +drws +rsd +rusmd + +fhctzixskvldmnrupgqbwye +bnzmxphdskvwlcyetuqrigf +gakcxpnhezurybsmfltqvwid +mkrvqcfgunhdpbowzxyitels + +sgoha +varskijcp +somha +shal + +w +c +opz +w +c + +nwjor +henlwj +onjw + +gfbexckpyonsjlrtqd +godblnpqerjckyxsf +bheojgdrlqscnpkfyux + +owihczayl +byhldoz +xyhzvol + +tlvydpageqcwm +qvyplwdt + +ykdxtlsapfe +lbkdoarpex +kjmueptlaxd + +fyw +rf + +sgjqa +jasqg +jagsq +sjeqga + +oyftwsjnr +jcyltkosfpdwn +fnjyomsrtw + +lkugoqn +nlokgu +lognku +ngolku +nkoglu + +jyq +i +l +q + +i +m + +fbmorsgalytzqcwujvih +dpjythovwnizslfqmcarbug + +afmdey +edymf +mfyde +efmyd +dymef + +ge +r + +zdwlhekqyrvfm +ivjhfdwzk +djkzwhfv +hkvwdzf + +aimdg +dagm +wmagd +dgmoua +mdag + +pdgxvcsr +sohwekxmftdij +sqvnxgzd +xdsqpavbuyg + +buytcfgqsvzrmkdhepaixow +zaghwdrtmyikocuqsexvpbf + +vsbrnpgomyia +ojaglmpsr +gzqykpardwsmefov + +h +h +h +hps +h + +parjim +pjrma +majdxhpzwrt +gjmarlp + +bapshndgv +hsxdbnvpg +schnbrpdkvga +psvnryabdgh +btoeisvqdhlnfgp + +lmigad +zjwxpqhy + +xwjzf +pjwxzf +lkfwxtnzjh + +y +y +ty + +njhwpxdoc +qdhxnpowjc +rhdjnxawcop +qpcnohxjdw +dpwcxlnjheo + +lpfzgcmutnbrqy +mplfqtuzyrgdb +ztwbjsiguhxqykfropl +qtlgzubyrfp +nrtdbyufpvgzql + +cshxbdmwfzk +jterbomiahwlf +fcmhvbxzw + +dvubownmsyaqr +buqmydnaovwsr +vqwrnudaysomb +asvbqnryodwum +qybwausvorndm + +tjnlgypkxrswd +yurlpdwxntjsg +lcwjypnxtdgrs + +uwbegchfszrtpaq +frhtcwuesjqag +uqrhacnegfxtmwsk +fedpruwagtvqshc + +h +h +h +h +h + +hyp +hpy +yptiv +yeupkh + +tpa +tpa + +tyxb +f +fi + +w +i +w + +qlrn +rmnl +lrm +yclrzi +olhr + +pzyojshleakmvx +mfhlpkwzvngsedycq +erkpvzlshimyb + +iuwypcshemk +gvcuwylki +qocbayziwtnu + +sqxn +xsqn +nxbqes +cnsqx + +eskfqzcjgbndmx +jnbqckdmxfegsz +dusbmcfkqexgnjz +mfjkqecxdbgszn + +haigdtzxjpvlye +ebdphavzlgjity +pyavulrzdigjeht +ejgihvdwysmztp + +howzjupcbrydeiskf +pxyajrewscoundzihfk +pgwkhqsiolmfcdrjeyu +pedywvsaforchuktij + +qyimsojl +mjqisoyl +jmsylioq +imycqjdsol +jisloymq + +q +dq +z +i +nso + +pfcvso +copvsf +fzospvc +cpofvs + +ungm +nug +kypibtcqz + +xdrs +drx +rxd +drx + +egkmnsvuaqxpocdjziybtfhwrl +dmgolkspchqjaxfnvyubezirt +oqartdhfnmcusziygxlbepkjv + +b +b +b +b + +weugmsnk +vam +px +nrwk + +njwlhfkzbxosiqmtdaep +tjdexnafhszrwoclmpbk + +spucgrxbhnkoyd +xgnchbpuydsro + +kuvbydenf +egmfkcjuy + +rubywdkos +jcdkyuspb +ubksfndy +xilhybkvueqtsad + +kszhqepbdtauwgfvo +sdhwugptar +tdgalsunhrwmp +uytahpcgswxd +jauhwpsgdt + +norelaqwcdikp +idqxcnlprteo + +guwztovasr +wrfgteold +girjqcnxtmw + +vbesoyprzckwhja +ehcyvrjoawkbxspz +bjqewozpcavhmyrks + +fuek +fmud +ufzwt +iqxtuf + +izxsywjpnghk +zxijypksgwh +ipgwzksjyxh +gijkhzsywxp +wsikjgzyhpx + +oj +oj +jf +j + +lpzxcesvaywuq +egxqwzshpvuclfay +vqaucwspyezlx +plsmucwzaeqdyxv +lxaceuvsypwqmz + +nfk +znefakp +nfk +fkn +kfn + +vrwasxfehckpmyubnj +hnruaesmwfjcpxiqlky + +mkpqb +kmbq + +ipe +iep +epi +epi + +tzpm +urjvs +wyfu + +x +x + +awihujr +waihu +hauwit +dhwuia +wuaih + +ixmreldjczsp +msixaqpryjdzgc +cxiszmrpjd + +xihrglkawevfcztys +wvfxgerzkslthcyia +tcykwezsxriglvahf +ltycdnisfgvxahjerzkw + +jctmxhldyfekbsnoz +fsmjcoxnehkbdzyt + +a +nzqihgm +ajo +xg +kbtd + +qpjiecwsntkdfxoylrz +opxnjbiwrsdqfteyzckl + +cskztdyhapb +hfdzytskmpcjv + +dsgqceaxhjlnfuptkm +zupenxmchwisklgaf + +bnfxiwmgsaylkruhpeqjc +pmxljerbnzcuokiqswh + +abhiumenpwyxdtg +mydghinwauptxe +dtvnapmuiyxwgceh + +hm +i +v +i + +srqagnl +glasrq +tlsgerqhau +qgslaxr + +camkndvibhglfsxjzpy +ipcnsmaybkdfuhzgjxl +iywsnxfzlqcdtjkmrahgbop + +eowmyghk +yomwhgek +ymwgkohe +emohwgky + +bt +bt +btzky +bt +pbt + +o +o +o +o +o + +ebuvrfzag +zpjusrbhvnq + +oxwkzil +wozmuik + +aermnpwkftbjygidcq +yhzvjurgcdnpsx + +zmynefsaxuldrvkochbpqwji +ojndmyrbwevhpfkxcziulsaq +owcdaxgymnjslfkvbiteuqhzpr + +mzybidswrc +ysimrczbdw +brdcmiwzys +scizybwmdr +dbyrcgsimwz + +gjkhfwri +jkhifrwg +fhrijwgk + +rjbyic +cfijyb +ciyjbr + +helktqgyvmwxpcuiznorf +mlxkvurotfpneyighzqwc +kcfnquprwmzhieovxglyt +vypdbmqnrftugeoicwkzlhx +hnzcfiemytgrlxvwoukpq + +tpw +mxwfelqr +pwid + +jgncopdsbtkiuywh +ikoctbuhydwspnjg +cdpwhbnkjtoigysu +wducshinbgjyotkp +owtugkcpihdjbnsy + +vcizx +pujwzqtgoafhdm + +l +ml +l +l +l + +n +h +p + +ag +an +a + +trgboyjfmscqukizxvld +kvrglmxcdjqtioyubsfz +cldvrzgufqtmjksyboxi +msgqiolcxbuvkrdetjyfz +rmxbfiyloujzgtsckqvd + +cyg +zgyc +gyc + +mvkxejgpqanzl +paqnvxmezjlgk +zjexvkaqgplmn +nmepakglxvzqj +emkqlnjgzvpax + +jrdpfenlugox +ckfxvwtlrio + +wcdxojeamgsvni +xcwundovajiemg +mvdjwoiqgcsenxa +dixacneojvmwg + +dislpne +lbrofx +il + +lishmxzbecv +hcvmbiezsxl +zlhbvmcexis +lsvbichezmx + +chbrojd +dhjrocb +bhdcorj +dohcjbr + +pizahyjd +djpayhi +ecpydjahi +iyhzdpaj +ydphaji + +sterfnwkbmy +nkvlyjtprfdmbsq +ntmrbksyfc +ncbrmktsyxf +nfekrsmtyb + +vdoaguf +aogduvf +dogfuva +hgravdfou + +hmy +hytm +hym +mhy + +ebl +ebl +elb +vyblep +bel + +kaiftmzwsbrqcx +tzinrcfaoexswkqmb +pvjsfcqzmltxkgwbi + +jmfbunxys +wplzbevo +wicbdeh + +zuaxbhksnjgcpdmwvoiltf +dspmizbnxqafolkgchuj +escpnbazluodxkihjgfm +nbmolcpdijgxzfkshau +uicnzjgkampfsldhoxb + +obqewjzkpuxfhmal +zxlmkbaqtpweuhfoj +oafmkbujqpewlzhx +xpazwjoeklchqufmb +oxmdzbnufljsiwkqahepr + +jludixebmrghfy +auhergixfmybvlkdj +lmpubnscixegjydho +wyxmeudbihvljzg +ijydlxgbqhmuzre + +lfq +kjlq +sdhtlqnp +zql + +evwzuc +cvzweu + +aqf +qfa +qfa +faq +aqf + +dzaoinjrulqectpmbkvh +vonhyijrzcbmuekdtql + +kmir +rkmi +uimkr +mfrki +mirk + +aitmegusokn +syvgitzmoluk +wjkiurosmtg + +b +w + +apqhilcg +sgpilcaqh +cipqhaugol +hligcqap + +sqjtpov +uzmhct + +nojxhldregqytbu +gbqxjodletnryh + +xuk +xukh +gqukd +ku +zauk + +nylwmd +csermkpjvwn +flotmwna +oanwm +zmuqnwl + +qeyofrigandz +cpvsimnzlbogju + +ckuwoafg +wragco +cgmwqao +rasgwxcto +ahwogpc + +d +d +d +d +d + +tscd +vmicosrfxed +tcds +ucdlsj +jhsdcb + +ozwbenithjqfp +tjeiknowpflhbq +eotfhqinjwbp +oqihepbwtnfj + +owrczyldnba +bczwroudy +ckywdbrozi +zuwdyorcb + +kcz +kcj + +kpz +zkmp +kpz +zpk +pzk + +vuahzj +akquv +vawzr +bpafgesnodv + +wuov +wuov +uovw +uwov + +tplidfauy +placuzyfit +yulpitaxf + +ibszxovdprhquamye +oahqufevzrimdbxsy +vdsmzhboxyraiqeu + +wmcpthzklyr +udb +degoaun +jvaxibf + +tedjwhunalzvirqoyspmcfx +jenufahxqpcdrtvwmsyzl +scnzwpfxdyjtlqraevumh + +zf +pfwgi + +i +i +i +x + +jonzkcad +zdjkanc +jakdzcn +njdzkca +kacdjnz + +olfcubmsy +flmysobcu +gyofmsuncbl +osbfucmyl +bmoylscuf + +mfezpgicq +scigqzopmf +gpficqz +ogfpilzqc +zgfpcwyqi + +kxdtycvposhlj +etqjmygkbwhcoridalusf + +gbjqdtaksferwnpzcohivl +qujvkwrfnpbsatgcdleoihz +aisjdexzbrcknqftghwoplv + +e +y + +uo +uo + +dypktis +onwlvfy +omy + +rqxewzljfomt +jomhrzndweykuqt + +k +kvec +kb +k +qzkugad + +tnwvjfbr +wjfvtrbn +wbrjntvf +jrnfvwbt + +ohxbfvg +govbf +gvfwob + +jq +qj +jq +jaceqfx +jq + +wuigsxrhfbvpecykodtjzmln +fcrmneoyidtxlzukshgajbvw + +zh +zh +hz +zh + +qxwt +xtq + +lu +xl +cl +qtli +xl + +jegyxzqc +xulzcg +gdczx +gzcx + +hvbajsokwnu +gahubjnpotv +jevtnaoubh +ajyhnofbvu +dunjioazmbxvhlr + +tgodl +qz +sq +c +izrq + +dy +vdm +jfvd +dnq + +vdjunwyelmbs +msvnkdblwueyj + +pqnyegvuzhawkof +sniegrmuwcqphjvfb +qfnhvlwdtpgeux + +cutedf +udtfce +ptvdfecu +fedutc +dfcute + +xzvjf +cwiej +mj +vjk +gjlb + +nwb +bnw +obnpwe +nbw +wnb + +j +j + +hcqaeovgrkysituxf +gutzhkxlrcbdoeqiysv +kuqsyotrvcxeigh + +sagmjztfri +lmysfjbzgua +sagjfczmx +dwfzjakopsgm + +rdxvpkenmgbcujhysf +yjbxdurgemfkvcpns +bsuknpgexfycjdmvr +xdevcrplnzuayfksiomgwjtqb +cvnehgyjufpsmkdrxb + +ghn +ps +uorkdxyab +hmigj +es + +tkdqsxyzij +qyshjaixtdzk +qukytjzdgsxi +xtziqmykjds +ytzisxdjkq + +ykwnetlxqhjmozca +xmjoyahltwqznkec +yhqknjcelwxotmaz +ytqchzmkjwaxonel + +rhjblduiefc +ilevpurjh +lvuikhjer +igawtheyprluj +qnusrhlexzoji + +ojm +jf +jf +jf + +cfuejldrabhqoi +cofwhtlkviaqurdpenb +iufxloqbhezcard +fchaqulymeoigrbd + +webjty +tyebwvp +tybwej + +p +p +lip +p +p + +zag +gza +zga + +cy +yc +cgy +xyc +yc + +nl +nl +wlxc +l + +doqnyeaxrtkbz +rqyzxtd + +nuzcfybklvaqx +davcyslnm +srnlvcay +lnvcjaydm + +zarquswjlbohemfpkcx +xpoclwsemkqbjzfauhr +jmqcflkwboprzsuxhae +lujxmfraeckzpoqbhws + +vdzkwmrqycjbpgasu +hajtqznydpk + +gwofesvi +iwoevsg +gyaevoiw +ioxwegsv +viofesjgw + +srtgyzfad +wrbjmqfx + +plstmbvnurofkjxicwhey +qpifyvmhlwacdrnojtu +rjcxpozifumbhyvtwnl +folmcryeunivtjpwh + +qreavkshtgbcjuzyxloipnmf +mtrzbsijoekqhnfgvpxylcu +byurvjkicqtszpgnoxlhfme +tvjcqxursynglezhpofmkib + +zkyiuobadeptvsnrwx +fkxypowlncrmziaedst +tzygwreshkxianopd + +yxrnapgotzkhb +hrpdmfvgjlwseutqc + +conmfxpvbaezgdukyr +ldabtmyoriecpukgxzwf +ykbdxoarguzempcf +embdczgoxupfryak + +coxkulveqmn +mvjcxokulqpenwi +uxomlvkqnbect + +dnpvgertym +btyihjmzaukrg +mrytclgn +rcypmgt +fmxpcvgrqyt + +jhvwdcyxkifpr +pjqwxkdhvriy +hpwvrxdjkqygi +dhxikvrogwpjy +oxwyhdjvikrp + +yehkjxvcts +ncvyujtx +ijctxymv +cqytxvj +jvctyxp + +gskitvbwlryqjn +wjitsgnlcqrbykv +tsiyqkvogrlwnjb + +ykfvmci +ckfiy + +ypdsmj +jdpym +ydjpsm +ypjmkd +ymdjp + +kcq +rjdsmby +tc +ac +e + +misn +mpibln +vjmqiun +vginrmw +mnrciv + +grluktqvb +lgqe +oqlg +egyqadl + +x +x +fx +xf +yx + +bqawrfgenpmsxhi +ecmfbhnwqixp +lokujvdqeyfzpxht + +ngsmytarlzkbjp +awlingtpyrjz +drlgzptjany +razjnpqvgtyl +fjzlapmrguqtyon + +ypefwhmuxztlas +xetwqpauvizfnrly + +xrpfy +piyorf +yprf + +rnuavlkitmb +iltuvaknmrb + +whlunqaickds +hasueqjlbdgmkni +rzluidhxvqfpaoknt + +kropubfxgvnqswjyhtdaiz +pwughlxbksrfojyznavtd +kfpwtrbnjugadvxhzsyo +tdpxhfojuvsrygzabnkw +vkyhnsdxjzoruptbgafw + +ksmpflohdbagyuzjictnevwq +oebxmzngkwdjysqtipchfavlu +cqsanfdupebyzlhojvmtikgw +oeckzbigqymfvwljadntphsu + +dv +lv + +melukvncfqstabdjozxgwphiyr +gwkhnptzreualjmdcsvxoyfibq + +twlguehvdazmfqiojk +gojvutzwdefmklhiqa +ltqagzfnujhpmvkwdoie + +hgbcpaor +pcarbhog +bhprdayvgocf + +li +wci +ik + +ovubtpmnxwhkq +xtwkmuqhonvpb +bthqmxnkvwpou +muonkxvbhfpqwt +nthkxpovmwuqb + +lmnvtcowzkqgfbyuisja +usaiehmxjcyfgwpnokvlrzqt + +hbxq +bhxq +bxhq +qbuhx + +zrifkodmq +frevcmpnolyxtk + +shngpfat +tgfpsanj +anfspt +anetsprqf + +tqyewczfjgpkardb +waqjeutcygkpfrz +ejqkrnywtfzapgc + +eqowgydcx +qcwgeydxo +eycgqowxd +epcydqxgwo +gexdycqow + +ztpi +ztpi +bzipt + +zqdagnlikybcwmp +vsuertjofhx + +jztshvpn +pnhjzsvt +nshzvtjp + +bveys +ehjksvboy +yisbupfgmr + +ezhgrayxkcjoifvlm +gsozrtcjelfypak +zkbwyctgenfrloaj + +chispgoyvkwune +nepyswovihkgcu + +yqhvn +yqzvhm +hsyqxw + +fdjwbuqr +aqviephkwgyotr +rnwbmqx + +htx +c +j + +gwfemyktb +jemht +jterm +tqjme +retdhmc + +qf +fq +quf + +onhyrdlsituwazegfxkv +uztoevrknydflxwasig +vurfigxksntozaywlde +yxzotsfwakerlivgdnmu +slryuezxfdinvagwtok + +bmfqglhuytwdkxvsr +osyuwvdrkbxhltgq +dtghxswlyjkurbvq +ybluqsgxrvtwhdk +lrqvuysdkgtxwhb + +rywoqadxnskeg +nwreygskjdxq +gqyrsdkvxawen +rdqknoxbwyesg +xqkedswaonrgy + +qjutsykgamlrdbxwi +riswxqjaudltmkby +jykudtirmalqwxsb +wrxjtamklsubidyq +uslabtxjqiyrmdwk + +drgaqbehipluynvj +bgwhunrvljyqpi +jhybqpvgnilur + +bzaxfsnrgvp +fpaniojbvs +nbavqspf + +xghdtenswqozrfapkiy +fpyaktnidzehcxgqrmjwos +kdysiwnxzqfrhtgapeo +eprdlkifoygwaxqztsnh + +qmjwx +wtxnmj +jnmxw + +vwdfnjurhxqm +fejdmnviqlchrb +xqfjtrhmdkvn +ponasqgvmdjfhrz + +jhrwkqblgotvfpzesi +kpiquwhjflzgrsbove + +donwet +onew +zywenko +dowen + +rfck +pmnqwr +eothysdrbz +rag +rm + +lyqkpat +aqktlp +klwftaqp +aptqkl + +lketoypncrqamwdu +ompehnkuldyr +kpyodulhenmr +yuprkmonedl +ihozyprlemknud + +xwmhyk +pwsxhbnevgcizk +wuaydxrhk +txhqkw +jokhdltwfx + +aiwq +wkqmaig + +pormh +phro + +dktomgpvwlq +powbmktgq +gliwtovmkfpseq +hpgunokjqmcxyzwra +pgvkmsowqt + +vasgtwrdnzkjlimuoq +vczglrndtsqojwipu + +umesvfw +whsum +zsmuw +zumsw + +isogy +clsrq +xufjtvnzebmh +gkwaoql + +hepbnwxlgiru +uemdhnogi +unhegi + +exulp +xybep +wqexlp +xcpeflq +jgxehp + +ouqz +zoua +uoz + +omfybx +wtpkhgrdjlecsv +bmzuqanix + +q +yfr +x + +hkq +pqhn +hq +bzrhojq + +eakwxyubldsh +auskeylhwdx + +pbz +zb +zpb +zjb + +ewfhgz +hxlqnorbw +uwdahmk + +pzrscjd +pszrdcn +rzpmdcs + +cfoemr +ocfmeir +foercm +recofm + +s +as +vs +s + +auntpvyk +nyvtpk +vtnkhpy +ktqvjwcpny +nvykthp + +jfaclveirwht +cerlwatjuif +zrymljiwocfap + +ldbkzysiwfuqgecxhjov +hziyqxfwubjkodglvse +zjyiklhebqvtwodxgus +jgwquhxvkdiyblozes + +tlrg +eltr +trlk + +tdiq +lxhwya +eusfogn +cypdia +tdkc + +unbs +nqbu + +s +s +s +q + +ld +zld + +fnwjhumltpkav +jusvqfbawpk +fpjtkuwiav + +obuislw +owi + +ukrospcnlqmva +ymrvupknoafcj +bczpvknmroua +rvakcqujpomn +wkyomaqclnpuvfxr + +wvitsxphb +vstxid +xhvitws +ilrxpvtsw +qutsxvcikajg + +uahlxcfkqymb +zlmashtgpybu +fmhbludavyc + +yw +ywq +wy + +qbkzsmrc +srtkczmbqf +zrqmcbks +qzkrmbsc +krmszqbc + +gb +oibg + +q +y +y +y +y + +vdq +mdvq + +bpe +pbe +ebp +pbe + +h +h +vo +h + +sadituvyrxq +anqhstrbkuxvo +rsuwxcamqgtzfve +htrqspuxva + +yhogpjtzensad +wygoskparejtmznd +psdhunztajgeoy + +fzgrtlsxy +yvgftwslx + +ojxdegq +jqdegxo +doqjexg +qgeakdoxj + +r +grv +r +r +r + +ksfe +sekf +eksf +sfke +eskfy + +vtilpszdyb +ytlizdps +yipslztfd +szxbdpvlyti + +kafxuqswrmien +qsuwnrafmekix +zwgfrupkjvmnceatixd + +inlodmzwqycgv +ncgorifdeuvm +opdnvfmgci +icdfpognvmajh +xnigcdeovpm + +vsgtewndyruoij +oitwujsgpdren + +jcxuoqsyrzfpt +uptfoqzyscirxj +zorfscpjxuytq + +dpruh +drphu +wnuhpdr +puarhdti +hdurnp + +kcafmguxdh +iorumvypkhd + +hynfqaruk +fnqyukha +knqhfuay +anhyqkuf +aynuhqkf + +ikawdgopncuvmblzqhrtyfe +vrtfclbegwnyhzmquokaipd +buachpomlzjywnfievrqtgdk +uthefikrpmzlncvyodabqwg +oadrvhmuzctkgfwlenqiybp + +uixcszypmbvlnqkateofhwg +fhdexyupozjqtmgcanb + +boszchprvjuweadykfg +krhxtezmosgacyfvp + +kd +vemd + +xuh +x +xcv +xu + +pzbxkfnvo +kvxznf +kfpodwvxzn +znvfkxuh + +pyuqlh +phlqu +pulhq + +jnkzrsgbxeyqwmd +ygwcdosbekqxmnz + +mvqx +mcguv + +utvzrw +oqekh +trza + +rj +rj +jrx +jr +jr + +fzorkebhymi +zfhimejlkayr +gfrnmkstizqvey +uzmrfapijxwdeyk + +jg +gj +gj +jg + +tysdmhrj +xhmdrleft +hdtxmrq +rdhtm + +l +l +l +l +l + +fp +fxp + +pmbcvrluqxkwhiasgdnefj +vdheksfxbgauilnctmwojqp + +ueacivdmlbszfrjpwnxto +deprznxfumjtsoavibcl +imlytfvuxejcrsnkbopzda +ctenfoabslvxgrdmuzipj + +vmyjs +wvcuzgn +tvefignd +dlehv + +sndgvcbekuqfmlrihyo +ulfqhezoiydbgmscrnvk + +xq +tq +q +q +q + +vgjhnayrduxi +fpicvzsotqkdywhebjml + +xi +ix +ix +ix +xi + +idwkxjtemqfsvagnhluzobp +qghxukenilstbzopwavcfm +hfxqklvbogiwuamnpzste + +eaiupytfqszdclwxo +dexuiczofwatlypqs +texlfzaswqpcouidy +tfzeaioulcwmqpysxd + +vsfurzlgbiwnmq +vylzrdfgwencsqumb +vilsbnwfuqrzxgm +azgkbjfumpsvwlhqnr + +f +l +mjtwk +y +e + +qltizkeyus +slyqgtz +rptzqsly +zvlbqnajsytx +gzylutscqh + +sorlqdakg +qyrkldv +qldws +fqdxe + +uph +h + +wvfyudbh +fdwvhy +vywhdf +vyfhdw + +yxhfjmqes +yfjdusq + +uoszjvmexyarchiw +rxjmucavyhos +ujhrcxmovays +cujxrvahnoslymp + +iufbrj +uijfr + +cdjboaziqvsgw +qvajzcwgdbios +pvqijagfcwobdzs +jbwczqgvadsoi + +jqysrebxpoc +esqgopihyxkcrjb +yrevfxsoqpjbc +jpescbuqwroyx +znruxedyfcpbqosjm + +lkbmeisofd +lmbiofdkes + +amujfhrceb +frbhacujme +eubachfrmj +remhtcabjfu + +owzke +axunbdhelk + +dmalenfuypgistcvor +umeipogydfstraclvn +prytlgscofandiuvemx + +zgifdbjmuoarnhs +qcrgujabftivdshk + +wejh +j +fjezwv +rnjkibcmt +jo + +guzs +rzgsu +zsuqgj +uzsg +guzs + +tgrespwdkuqby +dykwuptrgebqs + +znsudycxea +ucynzpdsex +unzdyxecs +dezyuscxn +ciuenszvyxd + +htmbgcpwusvolade +bsavwugcqmehlopdnt +qalpwehtgoucmdsbv +stpbmgaelxhvkucdwo +gpbeacdmulhtswvro + +kl +kl + +vxzpadftihb +dzhvwpbtfaxi +tivaknsboxjeqrmfhgcp + +es +e +zet +se + +qdhfo +ybzh +yhbwjlm + +hackjstyib +bckxdjihtsy +hsbklcyji +bgozhwncisvjpky +bhysjkci + +qgdpftbsr +eqhbsoptgu +wlsjtpygxb +pabhsgt + +uyndclr +tdlunryc +nluyrdc + +olwfgvpyqcjt +vpjtfqlwgyo +vjoyqlwufpgat +woyqxptjlfgv +vtylqpofgwj + +qgejcmyi +qbrkgumej + +zjcbnvfgswh +fezijwshgcnvb +hvnyrxmzsqflwcbtgjo +fnwjsgbhzcv +hfjcgsnvbwze + +ultbxowkch +lobxwchetk +loguhwcxtkb +awkhltxocb +wltohubzcxk + +abtxuvg +abx +bxa +bsxa + +bxdhufeil +tinhzg +aoyjih + +guwvemnzxcpjk +jzmkuvypwgnei +nrjphszwukmbgeqv +ouwzekncdygvpmj +zgujwpenkmv + +itpogznwyevbhj +nbehjsmytizwpvdo + +crn +ncr +rcn +mcresna + +efyvcqsmxbo +npjret + +grywnhikfdeoatzm +jxluedwkmvqspfacb + +jxmthefuvwndcr +bapkgsozrvyjmi + +oifctylgbe +xphewqjrl + +dpfsoljkemzuwyrcxhi +sphrujydiwxozlck +qxbjcoryawduzpiksvtlh +uokcsphixmjwrydlzf + +csgkiwof +rmvqze +mpv +pjqx + +vxdqtlrgcsmpzkbyiawo +vpskmytliacgwbdorqx +ragdkpbyqowtcsvlxe + +xjednfipmaghzubkv +iebmuavsjzhgryxowkpf +itqphagefczxvnmjubk + +x +xp +x +xgn + +vh +jvh +hv +hv + +rwe +akmop +lcnhusgivtfzjb +mowd + +suyl +lusy +ylsu +lsyu +lursyn + +htvjuspqlmwenybrkacfdo +tapfnyseilkucomrbvh + +xidbpvsozrjtkuyhmln +ytjnvhbuldpmiksxroz +ubltzkvhonjdmispxry +lmnytjrxkbisopuhzdv +oibstukrdnyzpvhjlmx + +r +r +r + +slfcqvwdbimha +dasfmvqwiclhb +dmafqvicslwpbh +mwshilabvfqdc + +loarezd +dluarzoe +zerdoavl +odleagzr + +rvbjxn +jvnbxwr +ofnxgbjzr +xrwbjn +bxjren + +q +jqe +jq +qypzc + +bneacsmtji +nsbjceftamiy +baswehcpmnti +stieanmbc + +vnms +tkcjoaxuyw +dnlg +idpv + +hxjsiancvugpedmrzfoyqtwlkb +qxalgitvjhosrwukycmfebdnp +ckhirotldgpusfwveymqbaxnj +axmtiocnsfbqwgevdypjrulhk +hepjdtbfkicoamrlwnyqvgusx + +aqmxcepog +qoemcagp +cmwgaoqpe +zedcohgsmlkaqp + +wuryjmckgoa +vukowjgay +guoywzaejfkxt + +vqcnxmflhjzpr +hpjelxqkbtcvnms + +q +vt + +cpfwuydnitjsgxbhzvormk +imspaweoqgkcfuldvxhrb + +icaj +ciaj +cjia + +xhmleqfridavt +tkdixyqavmelfhr +talhdmvfeqirx + +jaytvesdu +bfnqeagirp +zelaj + +lvbapwkxyigheqts +eywqpszvxtkaghli +ytlxvghkqeiwszp +yquhecpnjlidtkgxvrws + +bjn +nbj + +vxyjehaou +wozap diff --git a/2020/day06/main.go b/2020/day06/main.go new file mode 100644 index 0000000..85e8d4a --- /dev/null +++ b/2020/day06/main.go @@ -0,0 +1,74 @@ +package main + +import ( + "bytes" + "fmt" + + h "git.bullercodeworks.com/brian/adventofcode/helpers" +) + +func main() { + fmt.Println("# Day 6") + inp := h.StdinToStringSlice() + part2(inp) +} + +func part1(inp []string) { + yeses := make(map[byte]bool) + var total int + for _, v := range inp { + if v == "" { + fmt.Printf("Group Total: %d\n", len(yeses)) + total = total + len(yeses) + yeses = make(map[byte]bool) + } else { + for _, i := range v { + yeses[byte(i)] = true + } + } + } + fmt.Printf("Group Total: %d\n", len(yeses)) + total = total + len(yeses) + fmt.Printf("Answer: %d\n", total) +} + +func part2(inp []string) { + var total int + yeses := []byte{} + newgroup := true + for _, v := range inp { + if v == "" { + newgroup = true + var grouptotal int + for yk := range yeses { + if yeses[yk] != ' ' { + grouptotal++ + } + } + total = total + grouptotal + fmt.Printf("Totals: %d -> %d\n", grouptotal, total) + } else { + if newgroup { + newgroup = false + yeses = []byte(v) + fmt.Println("Initializing", string(yeses)) + } else { + for yk, yv := range yeses { + if !bytes.Contains([]byte(v), []byte{yv}) { + yeses[yk] = ' ' + fmt.Println("Removing", string(yv), "->", string(yeses)) + } + } + } + } + } + var grouptotal int + for yk := range yeses { + if yeses[yk] != ' ' { + grouptotal++ + } + } + total = total + grouptotal + fmt.Printf("Totals: %d -> %d\n", grouptotal, total) + fmt.Printf("Answer: %d\n", total) +} diff --git a/2020/day06/testinput b/2020/day06/testinput new file mode 100644 index 0000000..0f5b3bc --- /dev/null +++ b/2020/day06/testinput @@ -0,0 +1,15 @@ +abc + +a +b +c + +ab +ac + +a +a +a +a + +b