From 0dda547a5abebc785e68525b18b83d4700ddb2da Mon Sep 17 00:00:00 2001 From: Pim Kunis Date: Mon, 25 Dec 2023 13:51:14 +0100 Subject: [PATCH] day 25a --- 23/day25/example.txt | 13 + 23/day25/input.txt | 1212 +++++++++++++++++++++++++++++++++++++ 23/day25/main.py | 21 + 23/day25/requirements.txt | 1 + 4 files changed, 1247 insertions(+) create mode 100644 23/day25/example.txt create mode 100644 23/day25/input.txt create mode 100755 23/day25/main.py create mode 100644 23/day25/requirements.txt diff --git a/23/day25/example.txt b/23/day25/example.txt new file mode 100644 index 0000000..bbfda0b --- /dev/null +++ b/23/day25/example.txt @@ -0,0 +1,13 @@ +jqt: rhn xhk nvd +rsh: frs pzl lsr +xhk: hfx +cmg: qnr nvd lhk bvb +rhn: xhk bvb hfx +bvb: xhk hfx +pzl: lsr hfx nvd +qnr: nvd +ntq: jqt hfx bvb xhk +nvd: lhk +lsr: lhk +rzs: qnr cmg lsr rsh +frs: qnr lhk lsr diff --git a/23/day25/input.txt b/23/day25/input.txt new file mode 100644 index 0000000..f1f1182 --- /dev/null +++ b/23/day25/input.txt @@ -0,0 +1,1212 @@ +nkv: svc cdq zrx +hkd: nlx qbm dzc +xkh: cvb jhn +gtl: nhn bbv gfj szb xbt hcr +mfc: gfk svv +tjm: ktm nhs +cpn: qbs ngz lqn +qqn: tjf +nvp: flh sdm ckd ndf zhx +vsm: mrl xtd rmn pzp cqp +gnq: fgf jlx kzk mgl bcn +gmh: xhz tjq +mcv: qbm fcn +qbk: scj dlj pxm +pgx: xrx pqr ccj kkr +msv: jrr dlq ptf hrr +qjb: xtg +zfd: kpv jsx +ssj: psr kvs nhs +mcx: pxf dpl knl brd frz +pfz: dch +skg: dvb jzm rvr ctd +dvb: tss +mjc: ptb jds +tdj: cqq xcl +pcx: gvl plj sbr krc +mbq: knj zlg fzc psr +mxl: shp zcs jcv pxk xrt +hft: psb snl mvd +cdf: mgp jrr jvt +bvt: hbq hlb mms dfj +spk: tjv qlj dhs +jvx: fvp rrq jhn +fft: txf +vkd: grc fcp sbv knh hgj +bpz: drz lzl xcr +qdh: ttk xpf xxb xpp sms xqz lgk +gbj: fkr jvr +nhq: zlr jnq +jlz: hfm css ttj +vgl: mxb dbr hxb bqc +zzr: rgf jhn mfb mzz +gzf: fmv pgn vjq szj +tjf: kgh +jnk: gfj +tjb: cmr mvg slj mzt +trj: bnb rfx +ssf: qsm +cpg: jvt +dhg: brf prp jql +cpt: crz xft mvr lfd +ktz: szv rbm fzf xjr +lxh: hbq +tkd: fmg +bmp: xdv xpp jmm +tnl: rdp +qvh: gqt ztv +vgc: dqf jpp kqb +ngz: qdm lqn tmq +zrg: kkr jfk bgj gqt +nvv: zbn bxr csp ccr +jrv: vrz dmf +djn: bbh bgl rlq +vxv: qjb gph +szt: fxk dcb plb +qjs: tcj rvt +fkt: pzp jsb tvn mvr +thr: skt mmt cqd +kqb: kqv +qrl: rvt gkr +mfl: vmp rgm mvg dbg +lrk: gfg hqv cln +vnr: csj tbb mxf +ztv: thm +clp: fhv qbh +phq: jhc cxb +cvb: fkd +ppl: phl nrs pgd rfh kbj +vjb: ptc +svm: ssf nqc zlh mgg +msg: knh tgf fhr +kkt: fgm njq gql mpn +pzv: qsq dgn vkt +mdk: ljg kqv qsf +xpj: gqv vrq mxf +nkl: vnn ctt zdz zvm +nlc: tpk rnb hxm +jtr: css xhp lrk +ssk: gqt mpg +mpt: snz dbr ksp nln gff +fdn: brf +tdv: hds +xqq: kcm +szq: xnq +prq: rdt vbl nsz gpl bhl +gkb: rbt hvb fvp +qls: hxb +fnn: kdb +rbv: klt xrx qjl +vvg: hzc frz cmr +fqf: kqx hxr +kvz: kpn hqn +msn: jvm klt +hvm: scg pfz lbb vnc bfr +hjq: gsl jkk cvb ztv kzk +hmv: css qnb +mjj: tbx sgq +nzc: stq hxr nkp +fqb: qvt bpv +drm: xcc +ddh: lkc ncr vqm +nzr: zjx sjl +kbj: xhj +bgv: hrg +vkj: knq sbb qcf tnl +rkb: fhg tmv jhs +jhd: skm hgj tdm +hvb: mxr nbq ssn +psh: brv mjn +jsl: jjz bzh kgh +sfb: hdh +ljm: jfj vnr hxr sqn +kbh: pmg ndd xgn mxr +kdc: gfg +jcl: vxx rff psz dgn +sbv: xdv +kzr: psz ttg bnr +rqj: phc lrg fmv mjj ftt +djc: lgk knd hcm +xgv: skc czz zkg +jkv: zln hld znx bpm rmn +rct: chv bgx snc bgb +xhq: qzf mmf khc xlp +cgv: hkv pbq mnk +qth: nkp +pqr: dhs +sdc: xhs +rbm: mzm fdt +scf: pgd lbb +ctd: sgb +lbn: bgz bxr hzd jcz +lkc: jgx mdn jmd +tzs: pgn fkr jhs +bfn: jgm +pds: grm lxh cvd +kdp: hzs zvp dqj plt +jpc: dvh fcn ght ffp +ccm: fnr dmg bhb mnq +qsh: sjp +fks: hlj zvm tms +mdf: qbr fmx +dmq: fss xcl rfg +mmn: rfh dds gfk +rcx: sgc qjq +xrt: tsj fzm +grg: mst psz tgf +qpj: znx xql ptt +shp: fft rlj vjx +dnk: snm rnj vgj +khr: mpg +qmz: msn qqt crh kvd +rvg: jxv lhv hbj dgn xdl +cjx: ssf +nbv: nsh jxz dsb tth +qmv: jpd frp svn +mvd: mdj dmg jbv +pnd: hzh mcg xsb +bpn: sch +xgn: jkk +kfj: zcj xpp +slg: rcx zsj jkt dsv +fcj: ddg jvx vfd dzc +rjk: jfj mdn mps +hjt: mmf bzh drm +xhz: tjg kfc fns +mjz: xqs rdt zln fgh +gfh: zbn +hkb: ltc dhz scq ght +gtm: vnq rtk gnz sjp qcf hcm +phg: nhq fmv +nzp: gpf cvd +lrg: kzn +xnz: tbm jgc +sbb: bdh hhk +lng: jnt vxl hll +mvr: bnr +fqp: plb ptb +rvr: mkm cvv jzz +lrq: xtg pzm +ccc: npp jvt +zdh: dhp xmt rgk +xsm: bqk csz nqn dhs +mgf: jfl hzc sfz knq gfq +dmm: bmp jxs +vbg: lpp cxb vcq pnz hzh +nzk: jrp +rsg: zpr gfg +shj: cmq snm +vgj: bnf kpb khc +fhv: nkp +jpd: gzk +nnh: qzj npp hgd +kfc: zhz fns +bpv: lvr fzc +jdn: thr dkk xhf scq +jtp: flr fdh klv gmh +hrj: nvz qkg ddc +mjn: phg +jjq: rmc ksl qrf +bgj: xch bhm zkd +lcs: hrg fss psh rrc +jnt: kkl +kxn: xdv kns kvh bgv +dsb: txz vjb +zbp: qvb rrq zqj fqf +ssc: vgn dcb csj +cfm: tmr bpp cmr +gjn: klv bpg xqq djx +spt: qcr bcr mzn dvb bgq +knk: mlj ktm dpp pmt +dtd: shj pdq nvb zlc +dhs: plb +sfk: tvp zvp bht +ksn: nsz chd bzt ccq +jcz: vrz rlc lmt kcd fqp +rhb: tbb nlx nkg +kgp: hvl fqf bnb +xcb: bdh pzk bbh +pbs: lgk kgh jrp +nvj: xhg qdz nlh zlb +qbr: vgn +xvs: jvm sqn +kth: pzt pkn dqp dnz +mfb: hvz zbq +fkm: hqx hcr lkc +kkr: xkj +sdm: kfj pxm jgq +xhp: kgh +ttc: dbd +dds: cmq +hqm: clj +zdq: ctn ctt mrl ncz +snq: dbd xql qvt zzb +jfr: lfx hqm tjq +jbg: cgd zjx kkz ggc +crh: tkd +rnh: ttk +lbh: hgd czz +ckl: tdd fgf khr +hpk: rtt +cld: cqd +fqg: pxl csp glh vjb +knq: pzs +xtg: drz +bcm: fnn hjd sks mjr +rlc: dsv +nmf: vck hqv jsb +hvz: ptf ngv +ntx: nsh hzd slx djj +ctk: dpl bgq +sjh: jtm cgv qvh +lnh: mmf cqp +fcn: jnt xkh rrq +mnq: qzj +djz: vfd jgz pnd glx pzm fgf +khl: dgr hbx +nsj: fkj jsm +mzf: hnh gsn cln +kvd: gfh nrc xgn +ksp: mdj dcb +pkn: tdj jqx knq +xsg: sgv crg qbs mjj +plt: jrk +vrp: shq qth psb +mqm: xxb spm hmv +lxb: dfd slj sfm +dpv: cvd hmc jzm +tts: hkt +pfj: crg nrs stv jrg +blk: tvq +jkp: fqp rmr klt mrc +bcr: mvs +rgm: qct kvj frz cff +dbj: ltx pdq mlm +gbp: gxm ccr fvn rrn +fxk: bpn bvr jtm +jzz: llj +zrn: vnr shq +npp: sks +stb: nzk ngm +nzm: qlh vxl kqv rbm +vnl: hvl dqv bdp xkj +ltc: bxr rhl vmg +trx: gfh +dvz: hdr svh rbm bbs +jdx: fkd +fdh: hlh jgr +hrz: pzp vjq bfn +glx: jvt mnq nnp +hgk: dgn vjh +xjk: snz mkv fdn zkg +qcl: ljn cqd bbv +nmd: fmg +flq: glf nhs chv fdf +lhq: llj mxx vjq ncz kdc +bnm: xpj bdb dsn bsl +lkq: xrx +cgh: cld fhx rmr clp +cbz: xkm qth pkt +dcm: jds lth +pld: fjp pbs dpz +lhf: znx zlb mqq qjs +pnz: mps vrq +rxp: klt xkm +lzb: drm zcx lbg gsn +bck: jrt lxh vhf +pvm: sks xkj jdx +zqm: jmx csk mjj pbs +bhl: xhs +dqv: gps +zcx: xjd cpj knj +vxl: rhl qvb +rvt: srk xmq sfz +sfh: hlj jsb lzz ndf zlh +zcv: tlc dmt dnv khr +jgz: fcn fxc +hzc: jqx +zvh: grz gbj bdd +pfv: jpp vrz +jxs: qzv +jvq: djr ccc fzd qls +bdd: hbq phc mgg +qzv: bdh +vvt: shj pzs grm +cdq: rxg rnq +nsr: llv snz gzj pkt +mpk: tzs fzc xqz +kpm: mld ccd ldn ncm qnv +flv: zhm qrf ckd +xpf: bhl +brx: mrd ljf fjd nzt bxd +pxq: tdb mgq bbd qlh +fnl: dlj kvj nzr zrx +pjk: ddc jds png lzc +sqt: bsn cld svl gxs +rrc: zcj +bpb: qjj chs mst pbs +sjv: dxj +tmt: sfb pnz hxm +mdn: kcm +mvg: mzn pld +gdz: crb +rgk: kpm hmx jrv bgf qbh +bvr: crb xkr nkg +vjx: thm +xfd: cfp cqd +ckv: tmq +tjv: gfj hll +bcf: txb pcv pds tvn +vll: lbt bhz mjz hsf +mzt: crz vjh +dvh: xnq +gxm: fgv krd qhd +nzt: bpg lkq +mrd: xhc +dxf: brf sdg nsh jgx +klv: scq xkm ncx +nfb: vxx xfc fgm flv +jmm: tvn +lvm: xqz rsn vhk dnk +dsn: fxc +rmc: tbx pzp fnx bgv +gcx: cdf dxj cfp +vtf: qls xhc mtv +tms: lmf vck +pzm: nkg mps xnq +fhm: dsn crh gnx dzm szb fzd gpc +dnv: bbv +rzl: zrc pxf +qzf: ffr zvp +blg: tbb htb jfj +nxx: gpl xlp zpr sgb +fsr: nbq qnj pkj +gns: psr +fzd: mdk kzh +vxd: hnp zdm mkm lxh +ndr: rmh +zcf: lgr mxr +nkf: trj shq rrn tsj +dgn: jxv +ppd: gpt kgd hrg mgg +chs: nzp tfm +sgg: xkh +kpv: bzt chd +cmt: ccq gsh rfh +rgf: fgv stq cbf +trc: xgl xtd xpq lhq +jfg: nrs dds +tdn: bhp jxh +ncm: hgd tth +ptf: brf +xtd: xdl kxt +xpq: jmm tcj jrk rhp +dcb: mdm +dlc: hxb szq gvl fhv +vcc: ctk xdv bnq qnb +ckh: nkv njq dfk shs hjg +fqd: cmb csm bht vcc +xsb: xhz xqt +fvn: hft xqq +jvr: chd drm cln +vcq: hjv cdf bdb +hds: jgc +ptt: hhq xcc xnz rff +qdn: ljf zgl +zqs: rmh rhf llj +gvl: psb +stv: bnn ttk xql +pxm: tbx +sgb: njf +ljk: sjp kpb zpn +vfs: nhn jjs djr hvl +ptc: bxr vxv +knj: dbn +jpr: hsf hsx sxm blk +dmf: vtq +scj: rnh nhs +khd: jfk prf fqg qjq +jjs: qbr +rnc: qdn gxr dmf kkl mdj +bqk: bhb kqv bsl +jgq: qnb +vnc: vtb hlb +sqn: hqx +cpf: hnd +vdt: hkv +xjr: blc rhl qjk +fgh: jrk scj spm +lpt: nln nkg rbv +pdc: vns xqs +pjj: hpz hbq +zlb: hqv xdl +plj: qvm nkz skt +tfd: ljn qsf +bns: txf qgr +zsj: vgc tmm kfc +srm: vtq fhv pxl jfj +snz: tth +mkv: kfb fft mtv nnh +flh: jfl bnn qqn +vxt: dhz rrn pbt qgx +fkp: jxz sgg ksh kqx hjv +dsv: bsx gdp +ktm: tdn slp +dzm: tdd +zqj: hvl djj tkd gbx +jrt: qzv pdq +gbm: nzp bcj vhk bzh +hpl: plc nhn klt ggx +gfk: ntd cql sms zrc +vmg: fhx +nhd: fks mzt +tbm: kkz +nbc: nmd jql jpd ncr dcm +dpj: dph ptf qbh lzc csp +lkz: kpn pgk hsg lrn +kpd: vvq zpr spt jpr +nqp: gdp fzm jhc +dkk: plc gmh vsz +vfd: bmg ppb +tth: mdm +sbl: skc gsl kcm +bqc: tgx +ljl: phl gpt hnh qjj +slp: nrs +nkj: lfx vgn tnk +gcz: pxl nkp skc zcc +tvq: pdc +gtr: qsf vvm jpc +glf: jjz rtt dfj bgb +mqq: fzc xhs +tjn: frp bnb nhn tjq +tgh: mjn jrg lnh pzl vlg +rlj: sgc +vcl: ldz bpm +vsz: hkt +vbc: sks vkr fnn nqn +mrc: ccs +qnj: pkj hdl dmf +mxf: rbt npp +jcv: qjk bcn +ksj: prp xgn clp +gzk: ldn +grz: zrx +tgp: lbb scv jhs lgk +gzj: zbq lgr htb +fzm: nkp +vds: njq ttg vll lsx +rcr: pzk tdv +qnv: hkt dmg fgs +bdg: bmg hrj hsb sgg +mxr: gqv dph +plx: sjv bbd kmc ksj qvb +zvf: vns mks +gzv: tbm +jlx: hvx dqv xkr bdp +xcr: mrd +lmt: thm xpj pqr +cps: sjv ggx vzx brt +fzg: ctn gsg qct kpt +txz: ssk jdj +jrh: bhs fxc gph hqn +hgd: gfj +dxp: bcr nlh +sxm: dbj zrl psz +gmj: gzk xcr +ldt: mdf qgr qth pzm +kjq: slp tjr dmq cfm smj kpb pgn +xbn: lkq bnk hxb sjv +svh: frp +kzq: bpm ndn +krs: bbm jtr qdm pxm +fvp: mnk kcd +ffl: tss ggc srk +jql: lzl spz gqt +hjg: hsv nmf gzf pzt +gbc: gbj pjj dbg hxr cmt +crj: ljk mbq msb fmc njq gpf +kdb: szv +hdl: mrd +slq: dng +dfd: hdz chd +bxd: mjg rpv +zrl: qsh nmf +dzq: rff jxh sgb xhj klp +mxx: gpf ctt +qct: hbx zcj +czz: bmm +hsc: skm sfb dch flh +prp: mnq hmk kzg +tnn: mjn cdq xhp mrl +tss: njf xft +pdv: tpl msg rvq cmr pqf knj smz tdv +hcm: jmx rhp ctn +gxb: gps ptf hdl +xkz: mvv kzg brf vgn +gjz: tjf dbd +qbs: bgv mhg +bgf: dnq tsj +mxn: kfb zgt gfh nkg +xtj: vjh sbb hrm +tnj: dmt fcj prx mrc +bnf: cmq fhr +dnx: ccg +jck: spm ngz fjp +fgm: jrp ndr +bzs: rpv hrc zkd hjq blc +kns: brv +pgp: hzh djx cgv ftk +sdg: zbq hkt pkj +mzz: bpz +hsb: tjq +zpr: cjx jmx rrr +lhv: kvh rtk sjz +vkt: bzh bpm +ftt: csm +lgm: krc dlk hlh zdh gjj +rmn: gkr +hxm: rfm +ztf: tjm mxx jcl dkg +rsn: rnb css qtk skm +jhn: hqx +vnm: qnd mvv bmj +zkd: bpn vmg +ztr: plt mzn grz xfk shb +prc: kcd mrd qff lgc +prr: mst gfk kzq dpz +mxd: mbk mgl vgf hqm +rzd: jxh cjd sfb +mxb: tjv sbl bdb +rdn: hrz chv cql tmt +fcb: vrq phq qkg knf bkg pfv prp +jnm: fxc +slf: dnk fjp kxt mjn +nrg: prf gxb ncx vpd +mvv: gsn +dln: hrc csp dqv xkj +bzv: fzc tdm +btj: jds jmd hjv djr +bhm: jsk rfx +lth: vqm rmr nsj +jvv: vjx tmm qbr pkj +pgd: qnd gkr +mjb: jtm jbv nln gdz +qvt: jgq +bbm: rff jhd +hqs: mhg sfh sqf hds +rnl: jfg rkb bhp zlb vhf +qrf: hnp +njr: vvg phl nrv dpz +dvk: tlc djj bmg glh +ztj: nbq blg brs bhm xnl +jpg: zcf rbt rfj brb +cqq: xgl tmq vfx +bts: bdh tdv +bbd: msn gzk hsg kzk +nzf: csk cqp +klm: tnk fdn bnk ssn +cbf: tdd jrv lgr jdx +slt: cfb vfx mlm fjb dch +npt: kxs bbm bts nvb +htb: qzj clp +rtk: rdp +cpj: vtj lnh +jdb: tjf mfq xtr jgq +lpp: xgn kqb dmg +hnh: gsh +qsf: jmd +qmb: cgf vcx bgf trx spz spk +gfq: sms +dqm: tgx nzt rlj png +fjb: kpv lsx +tbz: bgl +csm: rgv +bnb: djj +xmq: sqf fjs msb +fhg: gjz rgv +qjq: ncm +qdz: bcj hjt shb tdj mvv +jzm: kjk +pml: ttc ctk jqx mqq +mhk: xbt gkd +bsn: qhd bpr +gps: jhc +qcv: jgz gcz kvz +ntd: srk tdm bhp +dzc: jgr jjs vsz +xxd: smz qvt pdv +nbq: bdb xkm +pcc: kdb tnk vxl +xfk: kns pzv cmr +hct: bdp qvm bnm djx +mnk: zhz +bmj: rnq tfm lxh +vqc: hhk fhr +bgz: jsk +mdl: djc dmm gsg sbv sgq +ljg: qff qdn +pxg: fss bgl cjr tbz +fvb: jdj mdj dnv ffp kcd +xfc: pjj cff jlt +hsv: rsc jsb +hrc: qvh bsx +pzt: zqc hbn +gpc: tbb +dnc: dph ccs qjl xjq +ssh: gdp vjx dqf drz +grm: ncc zrx jfl +vvm: tdd fhx ckl mpt +nkq: jcs hkd vxn pnd qvm clj +jpp: mps hcr +nrk: vrq bgz tts +bbj: stb knj vbl rfg +knd: kvh psz +spp: rjr scq bxd vxn jlx +cch: nhd rvj cqb +pbq: pqr vjb hrr +czl: tfd fnb ccg lgc qvb +lfx: bgz +sch: khr +gpl: slq +vzx: brx hzd mjc +vdm: npz csk cnn grd xtj +tpl: gsn jnq +ttk: ngm +bhz: zjx hld +bbs: ksp bgm +jrg: cjr fkr hpk +kpt: pqf zvf rfm +ksl: rsc sms mks hnp +php: ddg pkt zbn czz +gck: zhz snf mjg bns +tvp: mzn fnx gbm +tqh: ppz zqs txb vtb +zhm: hds nhq rsc +lmc: ksh pbt vsr gnx +mmt: qth hqn +cgf: jsk cpf +lms: xhz nqp +qdr: hrc krd tdx gqv +sgq: zlh +vhf: xcc cdq +qff: jkt +bjr: ght ffc tkd +dkd: fgv xkj fgb txf bgm dnx +sfm: bdh +jjh: zpr hbn tjh hpz +bfr: dkg pfz zlg +xdz: rnj tnn fcp +pmt: rrr xql rmn +jhz: smd dch +ppb: qhk pcc bsx hkv jsm kkx bnk xsb +jfs: rvj qnb +ncz: gpf +mbs: tfm pbz pqf ncz +lrn: xct xkr crn +hbn: tvq +cvp: nbj qff bpg lzl +gnx: bdb mdm +hbg: csm tvs knh +fsc: ccc rrj cpg +vck: njf +khj: sjv lgr vdt +hnz: jsl fmc lqn cpn +rcm: dfd pxf tdn fnx +mgq: lkc dph dbr +bld: fhm fxk fsr jdj +hzf: sgc rmr ksh bpn +txg: fcp rzd slj qrl jml +hbx: jmx +spz: kpn +kgm: qjb mbk qjl +pzk: chv +nqs: dds qzf bnq vxx nzk xhg dxp +xtf: ggc njf qzf vlg nsz +hxd: xfd cqd gmg ght +vgf: vtq vjx vdt +gff: zhz +dlj: tnl +pkh: qsm rtr +brb: pgg fgf cxb dnc +zrc: cvv llj ccq +jbx: xmg kxs bfn pqf zbl hlj fhg zcj +zcs: prf ccg +cmb: zvh hgk sfm +bhs: fdn kvz +qhk: brt mpg ssn +zld: trx cld jsm rcx fzd +bbh: zlr +sqs: tgx fmg nrk tjn kkr +jhs: ldz +hsf: tmv +vkr: bbv +bln: ccj rfj pgg +lzc: xrt bmg +zlc: brd ftt smz ttj gfg bgl prq +kkl: jxz +tql: cql rnh rlq mdq +mlm: gzv +qcr: hds cjr +cqb: vqc hdh +skm: ccq kpb +fst: ccj hqm rxp xct qpt +dfk: cql phn dpv tgl +szb: cqd mjg +fgv: hqn shq +znx: rch +djx: jpd +ddc: cqd cpf kkl gps +vtb: qdm +frd: rfh bgv qsh rnb ldz +xtr: jfs trp vnc +cdj: bpn tjg bxr +jcp: slp hjg chs jlz +hrr: gfr ljg tdx +rgn: mzf fjb lxh qct ctd +bpp: vtb bdk nhs +cgd: tcj vmt +vtj: tcj +ccd: bhb pxk jhc nnh +zqc: hrm xgl sfm +skc: ptb +gfr: zbn rfx +vlq: sqf mmn dft bgq +thj: jdx qlh rmr kgm +bpr: vjx ncx +ltx: mhg jgm rnj +jfh: kzq dxp xmq mpk lbt +fjn: rrj dnv xcr +gpt: qdm +phc: hrg +vxx: mst +brd: jgc +trd: hzc nhs vbk xlt ftt +bmm: mld rfj +kvj: xpp +bht: ggc +bdk: pld rcr dbd bgx +fjd: mcg xhc +nvb: blk lbb qsh +vsr: dvh prc +gsh: zrx lzz +hsr: fsc kzh jbv snz +kln: jzz zfd gbj pbz pfz +slx: dzc fhb vsr bkr nvx +bgm: mrd xgh +tkv: lms hzd kgp ztv +lbg: dft cfb hhq +fcp: rxg +zlh: shb +lvl: mzz mdn kzk bjr +rzc: pgk nbj lpp dln jmd +zhx: tbz hxm jvr hms +pxf: rdp +gfp: rmz jxs xhp +qsq: rch qjj qzv +cjd: jnq nhd tzg +kfz: kfc sch knf qcv dvh bpg +xnm: zdz hfm gns lvr +ddr: gqv ssk pkt zcs +dnt: chv rrc vnn +zxv: mmt vcx czc rlc +vpp: hrc cvb pnz nlx +ltg: qjk glh dxj xst nkj +hhq: gpt rgv +ddm: hbn xpf kpb jrt +kjp: jxh ttj +dfn: nhs jhz bzv +cfb: gzv phc sgv ckv +pbz: hrm jfg +kzj: kdb gkd nbj jnm +vmp: dbn ndn +gnz: psr rvj msb rtt +xjx: rsl jbv gtr vdt fdh +kgh: rmz +rhp: qsm grz +ndf: tbm crz +krc: hcr +jml: qcf hjl +pmg: xhf nlx qth +cjv: ptf qzd cgv bns bbs +vmt: svc zvm rnb +szv: gps +svv: cqp hpk +rfm: zpn zjn +gvm: sjz mhg scf bzv +csj: qgr +png: fzm +plc: rxp svn +qlh: jnt +nbj: bpz +xhf: xct +sbr: gpc qjk rfx rjk +ksx: mgz mpg pnz +hxp: tvs rnq mms dbd +lzz: ngm +vpd: qvh qsf mld +nqn: hmx vtf szq +gxs: xqt crh +qtk: zrc khl xpf xjd +fcf: hrg pzs qrf rmz +xqz: scv +mkm: djn +hbj: jfl tvn +dqb: fqd csk fnx qdz +xst: qdn php +fdf: hhk xlp szj +qxv: ndd lpt prl rbt gmg jkt +cgr: gff szq pqr cnd +vvq: jsn rdt +mjr: tfd hsb vrz gkb +mpn: nzr +nrc: gfz lbh hxr fqf txz +jkr: glh dlk +cxf: rxg zlr zvm +jrs: jnm svh ngg fgs +vsv: blk dbj jsn kkz +drn: tnl zjn scf jsl +pdq: ncc +rvm: knd hlj sms vtj +xft: cqp +grd: xdl dgr vhk +zdm: lrg bfn dng +pss: zcs kvz hkt hjd +xcc: sdc +xpr: jrr ffp bqk +pqf: gzv +hdr: mkv kzk ccr +rrn: mgz +txb: hmv chv +lhk: fjp vjh cmq vgj +pgg: jxz tjq fnn +kds: mvv bzh sfh pqf +gsl: crb zgl +qzh: dmg ddg mpz krc +hpb: lzl lkq hjd ddh xvs dbr +zzz: qjb tdb qcl rrj +hjl: rff sfm +zhv: hkb qlj thm gxs +ttg: jgc gpl fqb +pjp: svh fjd nqp jnm +qqk: fkm ljn tts +xhg: ngm qnb phg +znn: bmm clj tlc dhp +vxg: vsz vsr snl ngv lth sch qbm +hms: gsg jnq ctt +hvg: hnh xql zrl tdj +bzb: fnr gdz +ggq: jvm dnv rhl +kbm: flr gdz hrj bzb +xjq: gff ztv +htj: krd qnv xkr blc +fdt: hdr ffk ffp lms +tdb: qvh khj +fkr: xhs +bkr: ccr fhv nsh jtm +zgt: jdj rhb cld +tmr: cln crz bgq +zjb: ncx txz qzj bsl +lsn: mzz qjl fxc rlc +vpq: jbx rlq psr vvq +jqp: pld brd stb jjq +xbt: hqm +flr: xtg ndd ccs +xmt: clj lgc kkr fhx +smj: xlp sfb +dgr: qqj +qzd: brt tdx glh +bgb: hnz nzf +hmx: dzm mhk +kmb: qjj hbj gfq nzf +xtc: ljf ccc gmj gfh +fkj: vmg dxj +hzd: kgm vkr +nsz: pfz +vnn: xhp sfz +mmf: jgm +ptd: bpv tmv vkt mfc +hrm: xlp ctn qqn +zjx: xgl xcc +tpk: vhk +mdq: lxb bbh cxf bzh +kgj: ctk zhf xqs dbg +vnq: cjx vnm bnf +klk: ncc ckd smj mpn +dlq: tkd gpc jql +mgl: sjs +zcj: bbh +bgq: hdz +hzs: rtk flh +qqt: dkk xjq lpk +bzt: jsx cpj tms +zch: dpz spm mbs phl +hmk: plb vqm xch jkt +kkx: klt xqq szv +tgd: sbv kzq pgd mrl cpt +nlh: cvd zrc pdc +npz: bmj bht qcf +jqx: dng +kcm: klt +qbm: tnk +brs: svl szt bhs +gtt: ngz rhf zlh cch +jgr: cqd +dbg: ndr spm +mjg: fhb +zbl: dgn msb slq +bkg: khr ncr fmx +dgh: vjq bck scg pkh dnt srk kvj jqx hgh +tps: cpg vjx sjs +zrz: cvd cqq tpk hrg +cff: xcl slj +knl: flv xcb mgg +zzb: fmv jck rpp bhz +fzf: ccc trx nln +tmm: pbt hll +nvz: fdn qhd fgc phq jsk +trp: bcj jqx lsx +fnb: kqb bnk rjk mcv +ggx: hdl +gkt: rsc brv rtt cqb +kjk: rdt mvs hdz +qkg: spz +zlg: tdm +cfp: gxr xvs +dkg: hjl gbj rtr +knv: xch dnx xnq rbm +knf: bsl +mcg: mpg xnq +jqc: chv bnr xhj vqc +nvx: ssc fnr fkd +rrq: fkd +lsx: mfq smz +jfk: zrn hpl mhk pfv knf znn +xtp: ldz nlc grg +jsn: vns +ddp: qkg nhn cpf pkj qqt +pkz: rgm zhx fjp dlj hgj +gdd: kmc xpr ngv hjv +mzm: vqm fxc +hmc: zjn dfd fzc +knh: vjh tvq +shs: shj mvv +pkf: sjz rvj mks hsv +vrz: ngv +hqf: tbm mms zqc mjj +ndn: hdh rtr +gph: ncr zbq +qnd: svc tjf +prl: ptc nmd xrx +vbl: ncc hnh khl +snf: ksh tjq mbk +scv: vck mlm +rsl: jcv jnk +xrx: blc +prf: ncr +xmp: fnx tmq psh zpn xxb +dqf: kmc pxk +ndd: bcn +snl: gfr cdj tjg +qlj: sks qpt +pcv: gns zjn +rhl: fmx +pzl: bzh fhr +dft: rgv lmf +lzp: rhb tbb ljn pqr +stq: jdj plb +dfj: lbt bpm +skt: dcm rpv +lfd: lzz qcr lnh fcp hnp jzm mhg snm +jsm: fns +lfj: ztf jfs rnh shb szj +nnn: tsj cqf nmd bzb +hld: ssf +ccj: fns crn mbk +dnz: fqb kbj jgm +fgc: ggx lgr +hvx: vxv hsb hvz fvp +tlc: mrc kzh +sck: kvh kns jjz +rpp: rfm mjn ttc fjs +xcn: bgl qcr vmp dpl xdz +xmg: tdj rsg sjz +lbc: kmc kkr jkr pgk +hgh: sgq frz +hpz: pzs jgq +llv: spz lbh fnr bxr +tcq: ckv xhj zvp +ttb: qdh dpl kjp sjp +qgx: fmg bpr frp vcx +prx: ksx bnb rlj sgg +scg: nzk kzn +sqf: jrk +ddg: dnq +xnl: nzc bkr rsl drz +jkk: jnk cqf +bhp: jmx +ljh: snc gvm dfn rhf +crl: qqn sfz dmm brv ctd hzs +ptk: fkr kbj vvt cjx +dsd: hjd gxr kqx kcm +sgf: csj sjh kqx dhg bgj zzz +qhd: ncx +cnn: xtp tzs bnr +pgn: tbx +crg: jzz bnr +mlv: hlh lgc +ghg: tps gcx rxp drz +zln: lvr hfm +hlb: vfx bts +dlk: cpg fft +mdm: gqv +qvm: cxb +fgb: mjc dnv tnk +xgh: jnk plb +sjl: hfm tzg rdp jml +chv: jjz +svc: bhl +cqp: mfq +czc: jds +dpd: vcl xtr kfj hpk +zdz: pkh zlg +lhh: bdd gfp rrc tjm +dpk: svl jgx bln bsn krc +fgr: bcj jrk dgr dqp qzv +jsx: kzn mks +hzh: vrp tts +dqj: dqp rtr kkz mfc +sfd: mnq hkv dmg ggx +tjr: gkr rlq kxt +tdx: jvm +ppz: nvb dgn bnq +rsz: bnq sdc nsz kdc zpr xft +gbx: ldn sqn pxk +rjm: knh jxs qbk jfg +sjs: xqq jgr fjn jfr +kxs: vcl nmf xcc +djr: ncr qls +cvv: hhk tfm +vkx: plt cfb tcj shs kvj rnh ttg +xct: lfx +ffj: nqc qrl hds xhj +kzg: bqc pgk +mgp: jgx nkp +fmc: bdh gsg +ttj: djn kvh +ftk: dsn hll +zvp: vlg mks +zkn: fhb vmg qjq mxr czc +mtv: cqf mld +tsj: dnq +tvs: fjs mqq +kvs: snm hgk vtj +grc: kzr gfq ttc +rgv: tcj +mpg: tgx +smd: xqs jnq +dvj: fdt nsj jpd bnb +csl: lrg qqj fgm lbt +bnn: xcl dng +qbp: rrr lvr jsn sfz +hsg: krd zrn +tzg: dbn tmv rnq +xhc: pxl +vxn: bcn tth gkb bsx +dmt: lzl xgh crb +rjr: vcx xch cqf scq +krl: nzc mgz czc hnd zcf +ngg: qqk mlv xhf +cql: rgv +tgg: hgh xxd ckd tjh cjr +jgf: tpk szj bnf bgs rzl +klp: gjz +zhf: xmq jrp zfd tzg rfg +zgl: ldn gkd hqm +rvq: dkg vqc qsq +tgf: xnz hqv +pbt: hqx +jxq: dvj rrj dsb nqn +zkg: tjq mzm +ncc: jxh +nrv: khc svv pzl +psz: hdz +hvs: qpj cgd vvq kjp dvb +ffr: gns hgj dpp +pcb: vns grg gfq mqm +bvx: jgq mvr qjs tpl +lqn: mfq +svn: gkd +rfg: qbs +xlt: jzz sgq dpp +gql: zpn zvf hbj +zcc: pxl pkj rfj +gfz: xbt +ccs: fhv jpd dzm +phn: jhz pzk hdh +ffb: qpj ffl bdh rcr +bks: rmh qct bfn sck +mlj: rgv hld kzn +fhb: hqx +hcj: cps gvl mgl sjv ssn +vjh: rnj +hsx: jgq hbg jxv zlr +nnd: gfz mgp lrq trj dmt +qfc: mdf xfd jpp bjr +sgv: pdc spm +nxr: bmm png fvn rcl +gdp: dhz klt +qbh: bhb +qkl: vlg xxb lgk +qcf: tbm +tjh: xdl slq +ffk: hlh dsv bdp ggq +hnd: jrr gvl +xmb: hkb jkr cgf ftk +mpz: mgz qmv fkj +lmf: kvh sdc +ffc: kfc lng +rhf: rrr +rch: svc grm +bgx: tcq jmm ndr +tzf: mcv kvz xst glh +nkz: sgc svn ssn +gjj: cdf qqk pxl brt +cnd: gmj tzf kpn cbz +xnc: hhq sck smd zzb kdc +jjb: rsg rnb hpk rmh zdm +mvs: kxt qsm hdz +ccg: mfb +dhp: ffp zhz +xzr: qqj tjh fjs rzl +gmg: ptb ztv +mms: nzr +vbk: vtj zrx mkm +trr: hrj dnx flr jds +fgs: kcm txf +lpk: dhz mlv xnq +jlt: qdm sfk lvr +kfb: rrj ksh +xqt: mnk mfb +tgl: hbn pmt cvv +dqp: rxg +pcd: jsn ckv jgm klp +scr: hbx klp dbj hsf nqc +srg: fgc pvm qjb svl +xjd: vlg qqj +kgd: bzh qqj +vjd: ssf bcr dpp qkl +fss: rmz +jcs: pgk gfz ljf +csz: xfd bqc vkr +crn: fmx rrq +nnp: tjg kzh vtq +snc: zqs mmn +bgs: jxv rhf pcv +tdr: nzr vfx kgd nqc +qpt: lrq cqf +rcl: rpv qgr xgv ffc fvp +bdt: mpn tbz ssj qzf +zct: ptb dnq jjs djr jfk +psb: gxr +khc: pzp xdv dbn diff --git a/23/day25/main.py b/23/day25/main.py new file mode 100755 index 0000000..59f283b --- /dev/null +++ b/23/day25/main.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python3 + +import networkx as nx + +G = nx.Graph() + +with open("input.txt", "r") as f: + for line in f: + pieces = line.strip().split(": ") + start = pieces[0] + for end in pieces[1].split(" "): + G.add_edge(start, end) + +cut_edges = nx.minimum_edge_cut(G) +G.remove_edges_from(cut_edges) + +part1 = 1 +for subgraph in (G.subgraph(c) for c in nx.connected_components(G)): + part1 *= subgraph.number_of_nodes() + +print(part1) diff --git a/23/day25/requirements.txt b/23/day25/requirements.txt new file mode 100644 index 0000000..81ef698 --- /dev/null +++ b/23/day25/requirements.txt @@ -0,0 +1 @@ +networkx==3.2.1