wip: day11a
This commit is contained in:
36
README.md
36
README.md
@@ -1,25 +1,27 @@
|
|||||||
# Advent of Code 2025
|
# Advent of Code 2025
|
||||||
```bash
|
```bash
|
||||||
day01:A => 1150 ( 51us)
|
day01:A => 1150 ( 98us)
|
||||||
day01:B => 1150 ( 49us)
|
day01:B => 1150 ( 100us)
|
||||||
day02:A => 31839939622 ( 7737us)
|
day02:A => 31839939622 ( 13822us)
|
||||||
day02:B => 41662374059 ( 64501us)
|
day02:B => 41662374059 (128425us)
|
||||||
day03:A => 16812 ( 106us)
|
day03:A => 16812 ( 119us)
|
||||||
day03:B => 166345822896410 ( 282us)
|
day03:B => 166345822896410 ( 357us)
|
||||||
day04:A => 1518 ( 193us)
|
day04:A => 1518 ( 321us)
|
||||||
day04:B => 8665 ( 3713us)
|
day04:B => 8665 ( 5870us)
|
||||||
day05:A => 701 ( 140us)
|
day05:A => 701 ( 310us)
|
||||||
day05:B => 352340558684863 ( 19us)
|
day05:B => 352340558684863 ( 36us)
|
||||||
day06:A => 6503327062445 ( 188us)
|
day06:A => 6503327062445 ( 266us)
|
||||||
day06:B => 9640641878593 ( 137us)
|
day06:B => 9640641878593 ( 145us)
|
||||||
day07:A => 1678 ( 43us)
|
day07:A => 1678 ( 57us)
|
||||||
day07:B => 357525737893560 ( 50us)
|
day07:B => 357525737893560 ( 70us)
|
||||||
day08:A => 0 ( 0us)
|
day08:A => 0 ( 0us)
|
||||||
day08:B => 0 ( 0us)
|
day08:B => 0 ( 0us)
|
||||||
day09:A => 4725826296 ( 159us)
|
day09:A => 4725826296 ( 236us)
|
||||||
day09:B => 0 ( 0us)
|
day09:B => 0 ( 0us)
|
||||||
day10:A => 452 ( 395us)
|
day10:A => 452 ( 667us)
|
||||||
day10:B => 0 ( 0us)
|
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 day08;
|
||||||
mod day09;
|
mod day09;
|
||||||
mod day10;
|
mod day10;
|
||||||
|
mod day11;
|
||||||
|
|
||||||
use std::time::Instant;
|
use std::time::Instant;
|
||||||
|
|
||||||
@@ -46,6 +47,8 @@ fn main() {
|
|||||||
("day09:B", day09::part09b::solve, "puzzles/input09.txt"),
|
("day09:B", day09::part09b::solve, "puzzles/input09.txt"),
|
||||||
("day10:A", day10::part10a::solve, "puzzles/input10.txt"),
|
("day10:A", day10::part10a::solve, "puzzles/input10.txt"),
|
||||||
("day10:B", day10::part10b::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();
|
let start: Instant = Instant::now();
|
||||||
|
|||||||
Reference in New Issue
Block a user