diff --git a/README.md b/README.md index 5d61538..cdafd9b 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,27 @@ # Advent of Code 2025 ```bash -day01:A => 1150 ( 51us) -day01:B => 1150 ( 49us) -day02:A => 31839939622 ( 7737us) -day02:B => 41662374059 ( 64501us) -day03:A => 16812 ( 106us) -day03:B => 166345822896410 ( 282us) -day04:A => 1518 ( 193us) -day04:B => 8665 ( 3713us) -day05:A => 701 ( 140us) -day05:B => 352340558684863 ( 19us) -day06:A => 6503327062445 ( 188us) -day06:B => 9640641878593 ( 137us) -day07:A => 1678 ( 43us) -day07:B => 357525737893560 ( 50us) +day01:A => 1150 ( 98us) +day01:B => 1150 ( 100us) +day02:A => 31839939622 ( 13822us) +day02:B => 41662374059 (128425us) +day03:A => 16812 ( 119us) +day03:B => 166345822896410 ( 357us) +day04:A => 1518 ( 321us) +day04:B => 8665 ( 5870us) +day05:A => 701 ( 310us) +day05:B => 352340558684863 ( 36us) +day06:A => 6503327062445 ( 266us) +day06:B => 9640641878593 ( 145us) +day07:A => 1678 ( 57us) +day07:B => 357525737893560 ( 70us) day08:A => 0 ( 0us) day08:B => 0 ( 0us) -day09:A => 4725826296 ( 159us) +day09:A => 4725826296 ( 236us) day09:B => 0 ( 0us) -day10:A => 452 ( 395us) +day10:A => 452 ( 667us) day10:B => 0 ( 0us) +day11:A => 636 ( 491us) +day11:B => 636 ( 421us) ---------- - 78306us + 152155us ``` \ No newline at end of file diff --git a/puzzles/input11.txt b/puzzles/input11.txt new file mode 100644 index 0000000..1cb8c9b --- /dev/null +++ b/puzzles/input11.txt @@ -0,0 +1,643 @@ +ufk: out +kgy: srg try +fhi: mxe +ywm: tsx jqk tco +hjp: pxg fkj ode +tzd: orq joq smr +gmu: qfj +kow: tsx jqk +lga: ldk kcm eyu +trj: nnb gek +uqc: fdh rdj +opa: uwc iet cst hnj ybf +xtf: yso rzi tew +exk: wgb jyz zri igi +ice: rhu +fpv: wcy wnm +wuh: iet uwc ybf hnj +hon: vbl rnk met ihp +jvj: gqx +lgn: out +zzi: aef ecv +sce: ixo unv +uxr: iut +nss: qbk ncd +qjk: out +vjv: you rhu jny +fwg: tco +ffk: rpq txp vug hfz +djh: fdh +ekp: sau gbi +amf: ecv kjy +ciy: lgn fzm +uiv: lpi xgf +ihp: cui oul tsz +qxa: jny rhu you +xhl: vyp yoy +tdm: fcw gzu +avz: omy +qfj: kuh anb gxw ulx +rlu: ldg jee qpe riq +adu: lvz eda uiv +ykx: yfk +htw: kgs rpq vug hfz +qqf: jyz igi sdo +nkj: out +cxl: zhi okh +cui: wrc wnm +wrg: kgs txp hfz +upv: nnb +naw: zlb pav erz zxj oam +vug: fdj +yol: fek dvn ywj zxd osu +xgf: ucd +wnk: jny +gfz: ikw qjy +clh: osz +jbw: swf czw +pmi: ybs tkt cld +qqr: zme bol +yqo: tfg +qrz: iet uwc ybf hnj +eda: kek xgf +yfm: tzd szb +enl: jny +efg: ety dro onk +ipq: cwu rpf eru gmo +pgw: ekp hza mog rqt +gar: dds ihv +clx: lvd mir ezh ugd rjt +kek: ltl xph +pob: jet woy +vpy: fox rvu +ddd: kvn fmj uxr +pwe: ccy cys +hzl: wcy wrc +tfl: zxd fek ywj dvn +urb: tgo +fzn: uah jyp zvf +wzs: ksm cka +pbi: pxq fec dat +gzl: fdh +vbl: cui tcg fhi +yba: xuf exk +beo: qyj rhp jiq gfz wcx +xee: upv mxh trj +mfj: bvq uno daq qth wgz +zmk: awn ala +ldk: out +wvv: pav syo hon clb vhq eji oio lav sdy zlb yby quj kgy +rjt: oaf ttk apr +efw: kjy aef ecv +lmp: jny +blv: juh udg +gnn: fiw teb +cil: mmb wxs ymh +pfg: rvu utq +tjq: auf +dat: vgr ggt uco +jnv: htw ozg +fui: qhj +ghw: tfg +hza: sau jdc +arp: okh +uck: hzl +hkh: fev muf ddd hgt +svr: zae jwu wvv naw ypl +fvc: you rhu +ggp: fdj +yby: xcy +vvw: myu agv hnx +jkl: ymh +fiw: see +edz: iet uwc ybf +kym: tvq +nmk: tdm kkc +raf: bkp hhm rjh ydz +xru: ych +qwn: uwc ybf +jnt: out +qjq: qxa +bon: icp rah ipt +mxh: nnb +ohd: tlc +daw: ice +sen: vpy +aqf: jny you +lav: bbl kbm nze +tgo: you rhu +aum: fvc nqq fne +mtn: nsy uho uou yqo jmz szl psd nff wjm efg ghw gmu kui qga njd edv +vck: qse yfm yns xmf meo +hfz: amb +fox: zqk amb +rnh: qph pmi +utm: kxp pdj +ham: hhm bkp +ljo: cwu +qse: szb eoh thr tzd +auf: cst iet +wlo: rah kep shp +osj: iuj zme xzb +qga: qjq ago pdq jlx +tdt: zmi gex kvd +mzt: rhu you +cby: wnm wrc wcy mxe +pdr: tzm +nnb: ixo unv +kvn: vbh acl iut +wpi: uqc +txp: zqk amb +tcg: wrc +xzb: mtn +hca: ljo fft +fgc: wfp crf +vis: riz +ehk: yoy qjk tvq +kwj: nss edl +kzn: ciy suk +nav: you +wew: kep +xvy: djs +rss: ygf wuh qrz +buo: cby smw +cld: wpi +keu: jyp +fss: uwc iet cst ybf +inn: osj +tjp: teb +kxp: twr fcf phr +phr: wdx jck +pav: rnk vbl ihp +wdx: kym xhl +jck: kym xhl ehk zxb +otj: zmi kvd gex +nmh: xru ykn fcf phr +uah: wrd fsd cza +ors: kwj qhz mpe +cwu: iad qod +hgx: gak +clb: upb +pdq: lmp qxa tgo +hyw: hke clh ixu sen +qpt: mud ogi +gao: tzp +mxe: iul vvw zhx zbl eiq zzi wyl rjz dwe ich bvo axx asm rqm sex +tco: vjv enl tji +ivx: ciy +rzi: raf wig yvt +fdh: nsy kui zld qga edv nff wlp pcv +kud: kix gsl boq +kuh: raj ekp mog rqt +ski: huu upv +axx: otj tdt +fmx: gxw pgw kuh +lay: ljo krb bue +ipt: zqk +vls: sjn iau +fkj: vls dzt +vyy: awf ank hsj aum tvb +qnk: ywj +smw: wnm wcy mxe wrc +tsz: wcy wnm +iet: lmq gjp clu fkh kud rbx hph qdi gnn vff jnv nvs gdk pqk qpn zsb jah xtf tjp miz +uwc: qdi hph rbx jnv vff gnn clu gjp fkh kud xtf jah zsb qpn miz tjp gdk pqk nvs +agv: cvb beo vjr +aqo: kay +meo: thr tzd szb eoh +ckk: qfj fmx xez +acp: udg +jyp: fsd wrd +mng: hgd ljv fpv +vuy: hzl ght hwj +tew: raf wig +zmi: hnj ybf iet +ltl: wrc +ode: vls xqf +clu: fiw teb +loh: ihp +zhx: blv zvr hfm acp +daq: uwc hnj ybf +xll: osu dvn ywj fek +dro: fwg ywm qox +kkc: fcw +frk: wcy mxe wnm +oao: nji uho uou jmz wlp swt ghw zld gmu kui efg pcv pwe njd +gdk: htw ffk ozg wrg phe +ccy: ogv +ogv: rhu you +oio: gsu +rgx: osj +zae: jmw kgy zlb sdy yby clx quj hon oam gux erz zxj rlz eji loh clb vhq vae +ucd: wrc wcy mxe wnm +zqk: jfl gfh tqc hbz fui hnb btv fzn inn szw npa spb avz lqy keu rnh +yiw: eya uah +xmf: eoh +zri: mtn oao fdh +wlp: onk +xpd: lga +odx: wzs xpd +you: cil xvy sin iph jkl doo cxl upe fga wdd utm azz bbx tsq bsx svm pmq ieg +raj: jdc +wyb: wkt +doo: wxs ymh +aiz: kvd edz +ksm: ldk +crf: sdo +bvq: ybf hnj iet +anb: raj mog rqt +znf: iet cst hnj ybf +cst: xtf hph rbx rda fkh kud pqk lmq +omy: kwj qhz mpe +tlc: mnv hgd ljv +gfh: fgc hsm krw +nka: qbq tfg kbb +xqf: sjn znf ssj +qhj: tet gzl dil djh arw +ety: ywm fwg ccm qox kow +awn: ivx kxo kzn +yfk: you rhu jny +sff: fdj amb zqk +zhi: wsy tdm kkc +hsd: vwr epe +wgb: mtn rdj fdh +qxm: lym frk smw +xxf: kgd +wqq: ogv +jlx: tgo qxa lmp +xuq: uwc hnj ybf +rbx: kix boq gsl +zxb: vyp qjk +vbh: nkj tdu tiw +qyj: qwn xuq csr +xph: wrc wcy mxe +joq: mxe wrc +ezh: oaf yno ttk +gqx: izq kzn ivx +qjy: uwc iet ybf +xjn: cfs hwj ght +yru: fdj +kxo: afp ciy +gex: iet uwc cst +qcy: out +iau: hnj ybf uwc +vru: huu mxh upv +tji: rhu you +qth: uwc cst +tkt: jbw qvm wkt +djs: ala +gsl: sen hke +dzt: iau znf sjn +huu: nnb gek sce +tsx: tji vjv nav enl +cza: vxy kbh +rrk: vyy dac +sau: you rhu +vda: ode +iul: lay +pqk: kix hyw +srg: eob vks +thr: smr joq orq nmn fxq +dlt: cfs ght +nky: wzs xpd +eru: qod +qbk: mtn oao rdj +kep: amb fdj +ttk: ixj mth buo qxm +ugd: apr yno +lqy: pmi vis rft qph +qbq: ice ade +kix: sen ixu +rah: zqk amb +zvr: mfj +spb: ngf hsm yba fgc +npa: yba fgc +qpn: bon iox wew +sex: tzp hca +xuf: zri igi wgb +oaf: qxm mth ixj +upb: jet gar ohd +mth: frk +wcx: qjy xuq qwn ikw +xez: kuh pgw ulx anb +gjp: wrg +ixj: frk lym cby smw +riz: jbw wkt +ybf: kud fkh clu gjp lmq jnv vff gnn hph rbx rda pqk gdk nvs miz tjp xtf zsb qpn +gbi: jny rhu +gek: unv jnt +tet: rdj +usk: ssi omy axc ors +hgd: wnm mxe wcy wrc +uie: amb +qyl: xjn vuy uck +hgt: kvn uxr +xre: xzb iuj +sdo: rdj oao mtn +see: tzm tfl yol xll +rqt: sau +ank: nqq uhs +utq: fdj zqk +zvf: fsd +acl: tdu nkj dtw +svm: nmh pdj kxp +teb: olu pdr +iph: jvj fyb zmk djs +vhq: lvd ezh mir rjt +zme: mtn oao rdj +kbb: wnk ice +ymh: nky odx aqo +uou: pdq urb qjq ago +nng: rdj oao mtn +fxq: wrc wcy mxe wnm +qph: cld ybs wyb +fdj: jyd avz szw usk piw qgn xja keu gfh yiw tqc fui fzn inn rgx +vgr: out +uhs: rhu jny +swt: qjq ago urb pdq +arw: fdh oao mtn +ohu: fox utq rvu +fmj: vbh iut +lvd: yno apr ttk +jwu: eji rlz zxj loh oio lav clb vhq vae xxf oam hon erz lpu clx sdy zlb jmw +lvz: xgf lpi kek +fek: amb fdj +nze: uiv +ala: ivx +rnk: tcg +fzm: out +pxq: uco ggt vgr iya +bgu: vyy ugx +qox: tco tsx +eji: lvd ugd ezh mir rjt +cys: yfk +vjr: wcx +icp: zqk fdj +hnj: gjp lmq kud hph qdi rbx jnv gdk pqk nvs xtf qpn +izq: suk ciy +kvd: uwc ybf +kui: xez fmx +ybs: jbw qvm wkt +dwe: pxg fkj +cab: agv hnx +bue: tjq cwu +olu: tfl qnk tzm yol +wyl: kjy aef +iuj: oao mtn fdh +jet: dds +udg: daq uno bvq +jee: xee +unv: out +szw: rft qph pmi sio vis +hnx: sfb vjr cvb +ogi: djh gzl dil +ccm: tsx +dac: tvb awf hsj +edv: epe vwr rrk bgu +oul: mxe +twr: ych +juh: wgz daq qth +wkt: czw uqc +vxy: fdh +zlb: kbm +nqq: jny +kay: cka +rhp: csr xuq ikw qjy +cvb: rhp gfz +mpe: edl rnb +rqm: ejd aiz +boq: sen hke clh +nmn: mxe wrc +qpe: vru ski +erz: srg +eob: dlt uck xjn vuy +eoh: nmn +rjh: uie yru sff +fkh: rzi +azz: jee ldg +hnd: ubz ddd +tzm: osu dvn ywj +yno: qxm buo ixj +wcy: gao zbl eiq sue rqm dwe sex +rnb: erv +ecv: oek rss bwi +jqk: tji aqf +vyp: out +bbx: djs jvj zmk +tdu: out +szb: smr orq fxq +try: vks +ugx: hsj ank tvb +piw: axc +hbz: osj qqr xre +hnb: qhj ogi +vsf: acp +tsq: kxp pdj nmh +pmq: nmh +bol: oao +osu: amb fdj +kbh: mtn rdj +vff: yso rzi tew +vks: xjn vuy eju dlt +szl: bgu +met: fhi cui oul tsz +csz: xmf yfm +uco: out +ldg: vru alk +ljv: wrc +lpi: xph ltl ucd +tzp: ljo ipq fft +cfs: wnm wcy mxe +yoy: out +pxg: xqf dzt +jyd: mud ogi +nvs: fiw jqd +awf: nqq uhs +efd: qqr xre +kcm: out +rda: ffk ozg phe +rft: wyb ybs +gux: xcy pob +rvu: amb fdj zqk +asm: pxg +mnv: wnm mxe wcy +vwr: vyy +bsx: riq +dds: mnv ljv hgd +jyz: fdh mtn rdj +fsd: nng kbh vxy +erv: mtn +wig: rjh ydz hhm +mmb: nky odx +mud: dil gzl djh +aef: oek bwi +gzu: dat lar +qvm: swf uqc +hsj: uhs +oek: wuh qrz ygf fss +gak: fev muf ubz ddd +zxj: uyw pob +smr: wrc wcy +lpu: srg +zxd: amb fdj zqk +dtw: out +qod: iet hnj cst ybf +fcf: wdx ych +gxw: ekp rqt mog +qdi: boq gsl kix +fga: zhi +kgd: yfm meo yns +edl: qbk ncd +riq: xee ski +ago: qxa lmp +ikw: iet +jfl: hsm ngf +ngf: wfp exk +apr: mth qxm buo +dvn: zqk amb fdj +rew: uah eya jyp zvf +fcw: lar fec +vzx: qse +fev: fmj kvn +ihv: ljv +phe: kgs rpq txp hfz +lar: ggt iya +ieg: nmk okh +jny: svm arp iph bsx tsq rlu wdd upe hgx +wdd: hkh +zsb: boq hyw +kbm: eda lvz +osz: fox utq +tof: mmb +suk: lgn gbv qcy +nji: dro onk +qgn: sio qph rft +sin: zmk djs +bkp: sff ggp +ixu: pfg vpy ohu +tvq: out +ixo: out +orq: wnm wrc wcy +upe: hkh hnd +iox: icp +hfm: juh +czw: oao +eju: hzl +fft: eru gmo +rjz: acp hfm blv +vae: nze bbl +ade: you rhu +psd: daw +njd: qbq +rhu: bbx bsx utm hgx tof upe ieg pmq svm sin rlu xvy cxl doo jkl iph +jqd: pdr olu see +sue: lay hca +fec: ggt +ubz: fmj +iad: hnj ybf uwc iet +pcv: pdq +ncd: fdh rdj oao +rpq: zqk fdj +hph: rzi tew +wjm: ykx wqq cys +kjy: bwi rss +bwi: qrz +hke: ohu +jmw: adu +wfp: igi wgb +dil: oao +rlz: met +hsm: wfp xuf qqf crf +sjn: uwc ybf +muf: kvn uxr +mgk: ejd cyg tdt +gmo: qod iad auf +xja: pmi +pdj: ykn phr fcf +gsu: vks qyl +ykn: ych wdx +ssj: uwc ybf cst +xcy: ohd jet +zld: bgu rrk epe +myu: sfb beo +rpf: qod opa +sfb: jiq gfz +igi: mtn +tfg: ade +nff: ety dro +epe: ugx +iut: nkj tdu tiw +shp: zqk +onk: qox kow fwg +yso: ham +wgz: iet cst hnj +afp: gbv +cyg: kvd edz +ggt: out +iya: out +oam: vck +tiw: out +eyu: out +sio: wyb cld tkt +ssi: qhz mpe +uho: xez fmx +hwj: wnm mxe wcy +sdy: csz +uno: cst hnj iet uwc +wrd: nng kbh vxy +btv: ors +miz: tew yso +okh: kkc wsy +yvt: ydz +ych: zxb +zbl: ejd cyg otj tdt +csr: iet uwc cst +jmz: onb ykx ccy +tvb: fvc +ypl: jmw sdy yby kgy erz syo pav gux oam hon clb oio lav yfa loh zxj rlz eji +kgs: zqk +mir: apr oaf yno +woy: ihv dds mng +ght: wnm mxe wrc +ich: tzp hca +onb: ogv mzt yfk +syo: kgd vzx +rdj: szl nji uou nsy yqo nff wjm zld gmu efg njd uho ckk wlp swt psd ghw kui hsd nka qga edv +wxs: nky +uyw: gar +ygf: iet +ydz: ggp yru uie +amb: qgn avz szw npa hnb rgx tqc yiw jfl gfh efd piw rnh keu jyd usk rew spb btv fzn qpt fui hbz +swf: mtn fdh +fyb: gqx ala awn +ywj: fdj +ozg: rpq vug +ulx: raj hza rqt +tqc: eya jyp zvf uah +nsy: xez +jiq: ikw xuq qwn qjy csr +yfa: ugd ezh +eiq: ode fkj +wrc: vvw cab vda ich gao sue sex amf iul zhx hjp zbl zzi wyl eiq rjz mgk dwe vsf bvo axx asm efw rqm +yns: tzd +wsy: gzu pbi fcw +lmq: bon wew iox +bvo: myu +quj: rnk met +krw: xuf wfp +gbv: out +qhz: rnb +lym: wrc wnm +jdc: rhu you +axc: qhz mpe +wnm: iul hjp rjz cab mgk eiq zzi wyl bvo ich asm axx +mog: sau gbi +krb: rpf +eya: fsd cza +fne: rhu you +cka: ldk eyu ufk +hhm: uie +alk: trj +ejd: gex +bbl: uiv +jah: wlo iox \ No newline at end of file diff --git a/src/day11/common.rs b/src/day11/common.rs new file mode 100644 index 0000000..c72fe06 --- /dev/null +++ b/src/day11/common.rs @@ -0,0 +1,66 @@ +use std::collections::HashMap; +use std::fmt; +use std::sync::{Arc, Weak}; +use std::cell::RefCell; + +pub fn parse_node_graph(puzzle: &str) -> HashMap>> { + let mut node_graph = HashMap::new(); + + puzzle + .lines() + .map(|line| line.split_once(':').unwrap()) + .map(|(node, child_str)| (node.chars().map(|c| c as u32).reduce(|a, b| a << 8 | b).unwrap(), child_str.split_whitespace())) + .for_each(|(node, childs)| { + let node = node_graph.entry(node).or_insert(Arc::new(RefCell::new(TreeElement::new(node)))).clone(); + childs.for_each(|child| { + let child_id = child.chars().map(|c| c as u32).reduce(|a, b| a << 8 | b).unwrap(); + let child = node_graph.entry(child_id).or_insert(Arc::new(RefCell::new(TreeElement::new(child_id)))); + child.borrow_mut().add_parent(&node); + node.borrow_mut().add_child(&child); + }); + }); + + node_graph +} + +pub struct TreeElement { + name: u32, + parents: Vec>>, + childs: Vec>>, +} + +impl TreeElement { + pub fn new(name_hash: u32) -> Self { + TreeElement { + name: name_hash, + parents: Vec::new(), + childs: Vec::new(), + } + } + + pub fn add_parent(&mut self, parent: &Arc>) { + self.parents.push(Arc::downgrade(parent)); + } + + pub fn add_child(&mut self, child: &Arc>) { + self.childs.push(Arc::downgrade(child)); + } + + pub fn find_route_to_cont(&self, name_hash: u32) -> usize { + if name_hash == self.name { + return 1; + } + + self.childs.iter().map(|child| child.upgrade().unwrap().borrow().find_route_to_cont(name_hash)).sum() + } + + pub fn get_name(&self) -> String { + format!("{}{}{}", char::from_u32((self.name & 0xFF0000) >> 16).unwrap(), char::from_u32((self.name & 0xFF00) >> 8).unwrap(), char::from_u32((self.name & 0xFF) >> 0).unwrap()) + } +} + +impl fmt::Display for TreeElement { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "TreeElement: {} [{:?}] [{:?}]", self.get_name(), self.parents.iter().map(|c| c.upgrade().unwrap().borrow().get_name()).collect::>(), self.childs.iter().map(|c| c.upgrade().unwrap().borrow().get_name()).collect::>()) + } +} \ No newline at end of file diff --git a/src/day11/mod.rs b/src/day11/mod.rs new file mode 100644 index 0000000..7750407 --- /dev/null +++ b/src/day11/mod.rs @@ -0,0 +1,30 @@ +pub mod part11a; +pub mod part11b; +mod common; + +#[cfg(test)] +mod tests { + use crate::day11::{part11a, part11b}; + + const PUZZLE: &str = "aaa: you hhh +you: bbb ccc +bbb: ddd eee +ccc: ddd eee fff +ddd: ggg +eee: out +fff: out +ggg: out +hhh: ccc fff iii +iii: out"; + + #[test] + fn part11a() { + assert_eq!(part11a::solve(PUZZLE.to_string()), 5); + } + + #[test] + #[ignore] + fn part11b() { + assert_eq!(part11b::solve(PUZZLE.to_string()), 0); + } +} \ No newline at end of file diff --git a/src/day11/part11a.rs b/src/day11/part11a.rs new file mode 100644 index 0000000..7d780e0 --- /dev/null +++ b/src/day11/part11a.rs @@ -0,0 +1,8 @@ +use crate::day11::common::{parse_node_graph}; + + +pub fn solve(puzzle: String) -> u64 { + let node_graph = parse_node_graph(&puzzle); + + node_graph.get(&"you".chars().map(|c| c as u32).reduce(|a, b| a << 8 | b).unwrap()).unwrap().borrow().find_route_to_cont("out".chars().map(|c| c as u32).reduce(|a, b| a << 8 | b).unwrap()) as u64 +} diff --git a/src/day11/part11b.rs b/src/day11/part11b.rs new file mode 100644 index 0000000..0641182 --- /dev/null +++ b/src/day11/part11b.rs @@ -0,0 +1,9 @@ +use crate::day11::common::{parse_node_graph}; + + +pub fn solve(puzzle: String) -> u64 { + let node_graph = parse_node_graph(&puzzle); + + node_graph.get(&"you".chars().map(|c| c as u32).reduce(|a, b| a << 8 | b).unwrap()).unwrap().borrow().find_route_to_cont("out".chars().map(|c| c as u32).reduce(|a, b| a << 8 | b).unwrap()) as u64 + +} diff --git a/src/main.rs b/src/main.rs index b4ea594..f0fca35 100644 --- a/src/main.rs +++ b/src/main.rs @@ -8,6 +8,7 @@ mod day07; mod day08; mod day09; mod day10; +mod day11; use std::time::Instant; @@ -46,6 +47,8 @@ fn main() { ("day09:B", day09::part09b::solve, "puzzles/input09.txt"), ("day10:A", day10::part10a::solve, "puzzles/input10.txt"), ("day10:B", day10::part10b::solve, "puzzles/input10.txt"), + ("day11:A", day11::part11a::solve, "puzzles/input11.txt"), + ("day11:B", day11::part11b::solve, "puzzles/input11.txt"), ]; let start: Instant = Instant::now();