wip: day11a
This commit is contained in:
36
README.md
36
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
|
||||
```
|
||||
643
puzzles/input11.txt
Normal file
643
puzzles/input11.txt
Normal file
@@ -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
|
||||
66
src/day11/common.rs
Normal file
66
src/day11/common.rs
Normal file
@@ -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<u32, Arc<RefCell<TreeElement>>> {
|
||||
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<Weak<RefCell<Self>>>,
|
||||
childs: Vec<Weak<RefCell<Self>>>,
|
||||
}
|
||||
|
||||
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<RefCell<Self>>) {
|
||||
self.parents.push(Arc::downgrade(parent));
|
||||
}
|
||||
|
||||
pub fn add_child(&mut self, child: &Arc<RefCell<Self>>) {
|
||||
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::<Vec<_>>(), self.childs.iter().map(|c| c.upgrade().unwrap().borrow().get_name()).collect::<Vec<_>>())
|
||||
}
|
||||
}
|
||||
30
src/day11/mod.rs
Normal file
30
src/day11/mod.rs
Normal file
@@ -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);
|
||||
}
|
||||
}
|
||||
8
src/day11/part11a.rs
Normal file
8
src/day11/part11a.rs
Normal file
@@ -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
|
||||
}
|
||||
9
src/day11/part11b.rs
Normal file
9
src/day11/part11b.rs
Normal file
@@ -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
|
||||
|
||||
}
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user