Day 11
This commit is contained in:
@@ -43,6 +43,10 @@ path = "src/day9/main.rs"
|
||||
name = "day10"
|
||||
path = "src/day10/main.rs"
|
||||
|
||||
[[bin]]
|
||||
name = "day11"
|
||||
path = "src/day11/main.rs"
|
||||
|
||||
|
||||
[dependencies]
|
||||
anyhow = "1.0.100"
|
||||
|
||||
604
src/day11/act.txt
Normal file
604
src/day11/act.txt
Normal file
@@ -0,0 +1,604 @@
|
||||
zmg: vew ynx rdv kzq
|
||||
fho: drg
|
||||
qtg: bcp kzq
|
||||
nbp: fkn
|
||||
oaa: ulw zyf
|
||||
fyy: dwh vjr cdg miw
|
||||
rwj: kkt hdz irr ovu
|
||||
qoy: rao eev wzh wkc
|
||||
jzz: glp pwf fwp
|
||||
aqu: swy txo nqu mla
|
||||
yws: zxh fft
|
||||
rdd: zbw cqw
|
||||
hoo: bfn amg vyd dod ovp kii
|
||||
bnz: vdk
|
||||
shw: gzx
|
||||
iep: zbw
|
||||
mxl: udq owi yhh rrk
|
||||
izl: tfr
|
||||
oku: pvp
|
||||
omu: pvq tsj hfl
|
||||
xwc: bdu tuz tkz
|
||||
tjf: rek vil
|
||||
uak: bko
|
||||
idt: yrr
|
||||
que: yyb aqu cfl
|
||||
tmg: eev
|
||||
ybn: hfe qou xrk
|
||||
dgj: jbz you fhk hoo
|
||||
hfl: fmn gzw sug
|
||||
mix: gzx
|
||||
cwn: fhk you jbz
|
||||
rek: dfy ued zya nnk
|
||||
sug: utp btl lzb hor ndl uuw kyi zqd jdq cfs nvd acs pyx pbm eqc ome
|
||||
lan: kkt ovu irr
|
||||
miy: uub gyg yol tua
|
||||
dev: out
|
||||
ykn: fea rlv how ksp
|
||||
yom: fhk
|
||||
tcl: fnb
|
||||
nnk: hdz kkt
|
||||
wau: rtw vuk aoe
|
||||
amz: nxs vku
|
||||
nqy: fdp wyk
|
||||
bdj: hit ytb tcl
|
||||
bgd: uru mhm
|
||||
zdl: fps pmc maa frp
|
||||
wrv: sug cjl gzw fmn
|
||||
feh: irc ojk
|
||||
efc: out
|
||||
zst: rta knd
|
||||
nqi: gyt pwv
|
||||
snz: out
|
||||
fea: wqv hse rqw
|
||||
tqh: fea
|
||||
hho: isx whl yiz
|
||||
tkz: zkq
|
||||
omh: uuu
|
||||
dxu: dwh vjr sfc cdg miw
|
||||
wzh: zbx tjd
|
||||
iyj: bgw mug
|
||||
naw: hhm pkw hwn
|
||||
qdf: tjr
|
||||
vku: kez abg qmx
|
||||
udf: ulz
|
||||
mhj: tmg ffw qoy flj nyf ybn que fxt rua rys vyu cri aoh nuf fik jsk wmy epz
|
||||
uuy: sug
|
||||
roi: out
|
||||
abz: isx yiz
|
||||
cvr: isx yiz whl
|
||||
xrw: fwp pwf fnk glp
|
||||
rta: yug thh
|
||||
lyu: efc yxj iof hgu kpd
|
||||
qwv: fkn gzx lzk
|
||||
aum: yrx ubo
|
||||
uuu: fmn gzw cjl sug
|
||||
hjd: hbs
|
||||
epr: maa frp pmc srx fps
|
||||
sav: dst
|
||||
rng: qou xrk
|
||||
jue: rdd cze
|
||||
wzl: out
|
||||
nwn: gyt cwn
|
||||
flj: aqu yyb
|
||||
cdj: kxf daa
|
||||
zln: nxs owg vku
|
||||
pmu: kwh pql
|
||||
tqw: lzk jhf gzx fkn
|
||||
txo: nfb eez prz wkl
|
||||
bko: gzx fkn jhf lzk
|
||||
cym: plo
|
||||
ovp: plo imv ums sjv
|
||||
sjv: vre qtg
|
||||
uzz: irr
|
||||
nxs: kez aum qmx
|
||||
hwe: cqb abv
|
||||
lak: weu rtq
|
||||
gvt: iyd
|
||||
bcm: frp fps
|
||||
pli: mug pfl pxs
|
||||
gxw: jyz
|
||||
nrb: sem pmu kcm teh
|
||||
ffw: cfl
|
||||
teh: pql vnb kwh
|
||||
zdh: pvn
|
||||
ome: byz lql
|
||||
jnl: mdt ajt yzg nvq lfk aco yws kpp wff vxd nrb evs tjx cdj zdl kml ipx kkf vaw xjv
|
||||
yxj: out
|
||||
lof: sug gzw
|
||||
hwn: you hoo
|
||||
eva: jiq dny jky yom
|
||||
rgs: qke abv cqb
|
||||
fxt: tlz qtc
|
||||
fft: mbr uuu
|
||||
xjw: rtq
|
||||
fnp: fnb ctz jnl wpq zvu
|
||||
dcw: out
|
||||
rms: pym lyu
|
||||
nwy: wxb bko qkz shw gvo
|
||||
wpq: aco nrb zdl epr mdt
|
||||
lpf: jho
|
||||
tzo: wkm yns ndo
|
||||
kii: yag gel
|
||||
oty: dmu
|
||||
cjl: vkl ndl eqc hor pbm hki nvd lzb btl utp jdq zqd qlt
|
||||
kdw: evf dxu
|
||||
inn: jnl zvu wpq ctz
|
||||
idv: yol uub gyg
|
||||
epz: yyb
|
||||
ovu: zst kdw czw xrw alk hkm kha sor gct ytl wvx ixw edo qmw vvm qdf jzz eat
|
||||
gel: bdu
|
||||
oic: rms
|
||||
arh: cvo wkq toa vdh
|
||||
bgw: yoo
|
||||
grv: wkm
|
||||
duj: emk
|
||||
tog: sem kcm teh
|
||||
srx: omu otm qpk
|
||||
pdv: rek asl vil
|
||||
cvj: pdi
|
||||
utp: pdv ugr jho
|
||||
ufz: sug fmn gzw
|
||||
vvm: eem
|
||||
imv: ses zmg vre
|
||||
uzk: oty nlq
|
||||
pwv: jbz
|
||||
xhr: jti ufz uls
|
||||
xwa: cxv xjw qbx lak
|
||||
kbb: jnl zvu fnb
|
||||
chx: jhf
|
||||
nxn: fxt wmy que jsk rng oxu flj tmg ybn
|
||||
kkt: alk hkm bfb zst kdw xrw czw tnr ixw edo vvm qmw jzz eat qdf kha sor gct lsg ytl
|
||||
vqb: fmn gzw
|
||||
ytb: zvu fnb
|
||||
pmm: hhm
|
||||
evs: fho vyk
|
||||
far: iep kir axy cze
|
||||
hkt: zev uga
|
||||
fwp: cdu pdk szr oaa
|
||||
lfk: vyk dqg
|
||||
hkv: shw wxb gvo
|
||||
rgv: ctz fnb jnl zvu wpq
|
||||
plo: vre ses zmg
|
||||
qmw: tjr hmb
|
||||
ari: kxu
|
||||
xrk: bdj gfq
|
||||
jyz: rwj ryf
|
||||
jho: asl rek
|
||||
irm: you hoo
|
||||
hit: jnl ctz fnb
|
||||
yug: xfk trd ffe
|
||||
edo: tjr hmb ibe
|
||||
qiu: fdp wyk
|
||||
glp: szr pdk cdu
|
||||
ohw: ary
|
||||
ytl: evf
|
||||
aaf: tcl rgv
|
||||
eqc: zkb mxl zke
|
||||
aco: frp srx pmc
|
||||
eem: ari jvj
|
||||
wkc: ubu zbx
|
||||
jdq: byz tue
|
||||
udq: ovu irr ybz kkt hdz
|
||||
vyd: hlf sur rpe ntd
|
||||
kez: yrx szz ubo
|
||||
gvn: wpq jnl fnb ctz
|
||||
wvx: fyy dxu
|
||||
cvo: out
|
||||
nev: uls tqy ufz jti
|
||||
ipx: sem
|
||||
gqb: izl
|
||||
vfz: wkm yns ndo
|
||||
sor: buf
|
||||
lsg: knd
|
||||
uuw: mxl zkb
|
||||
ufu: bqi ssr yag
|
||||
qmj: pwv
|
||||
ruw: vuk fnp aoe
|
||||
zya: ybz irr
|
||||
tuz: bnz oai
|
||||
rdv: sjc bew
|
||||
tyc: znl
|
||||
dfy: irr ovu kkt
|
||||
wkm: irm dgj yqu
|
||||
kyi: jho pdv tjf
|
||||
pyx: zke
|
||||
rrk: ovu irr hdz
|
||||
mhm: cxv xjw qbx
|
||||
ynx: vdf arh
|
||||
zxh: uuu
|
||||
zot: uuy kvl
|
||||
pkw: jbz hoo
|
||||
dqg: bww vqb kvl
|
||||
axb: vyi
|
||||
ajt: dzl haw nii hkt
|
||||
wyk: pvn fnu myf
|
||||
geg: out
|
||||
ntd: uzk ggo
|
||||
bgt: zdh
|
||||
xfk: zih
|
||||
qoq: xiw woi dcw geg smh
|
||||
yzg: pmu teh sem
|
||||
rqe: jti ufz tqy
|
||||
ybz: czw xrw bfb hkm lsg kha gct edo qdf jzz eat qmw
|
||||
zkq: vkn vdk ufm
|
||||
vyu: ruw boq wau
|
||||
cdg: uak
|
||||
rlv: oic hse
|
||||
ugr: rek
|
||||
myf: fhk you hoo
|
||||
bso: jcg mvt aji yny
|
||||
ozr: kkt hdz irr ovu
|
||||
uub: zvu jnl fnb ctz
|
||||
czw: fwp
|
||||
pmc: omu qpk usl
|
||||
prz: kbb urb
|
||||
vaw: zxh fft zrw
|
||||
cph: out
|
||||
inh: ble
|
||||
dmu: woi dcw
|
||||
emk: nqs dac
|
||||
rao: zbx
|
||||
ipm: pdk
|
||||
kcm: kwh
|
||||
wxb: gzx
|
||||
jbq: hvb rys rua fxt nyf ybn yrj tmg ffw qoy flj epz jsk nuf vyu cri
|
||||
ary: oty nlq iyd
|
||||
ypy: vis jsp qmj nqi nwn
|
||||
isx: deb naw pmm
|
||||
wmy: hfe
|
||||
shb: hhm hwn xik
|
||||
znl: qit zpr ryf
|
||||
cze: sby
|
||||
xiw: out
|
||||
dny: hoo
|
||||
kxu: fkn jhf
|
||||
cre: auy
|
||||
wzq: gzx lzk
|
||||
pym: iof hgu efc yxj
|
||||
wby: jcg
|
||||
aik: ojk gvn irc
|
||||
wra: vyi jcg aji
|
||||
xuq: hoo
|
||||
ffe: wzq
|
||||
qmx: dwf
|
||||
ana: ulz cut
|
||||
qbx: weu rtq
|
||||
qlt: rez sbk cre hjd
|
||||
bew: wkq cvo roi vdh toa
|
||||
vdh: out
|
||||
xbo: xln
|
||||
szz: usg qtz
|
||||
toa: out
|
||||
jbz: cxl vyd cym elv ufu sfh
|
||||
zkb: lan udq
|
||||
kxf: nev rqe
|
||||
cxl: imv ums
|
||||
ral: lak
|
||||
jsp: cwn
|
||||
cwr: jhf
|
||||
pfl: yoo yrg
|
||||
xln: out
|
||||
jky: jbz hoo fhk you
|
||||
sur: jem gvt
|
||||
rxy: out
|
||||
jcg: nbp chx tsb mix
|
||||
btl: pny jue
|
||||
bqi: tuz
|
||||
rys: rao eev wzh zkn wkc
|
||||
pny: cze iep axy rdd
|
||||
tue: gxw cxu
|
||||
zke: lan owi
|
||||
cqw: kkt ovu
|
||||
vmw: lyu
|
||||
gab: cut emk
|
||||
smh: out
|
||||
kvl: sug fmn gzw
|
||||
vjv: zpr ryf rwj qit
|
||||
uru: cxv xjw
|
||||
ksp: hse wqv
|
||||
sfc: eky uak nwy hkv
|
||||
hhm: hoo fhk jbz
|
||||
fdp: pvn hfc myf
|
||||
gvc: jbz
|
||||
asl: dfy zya
|
||||
fnk: oaa
|
||||
mfs: yat
|
||||
vuk: ctz fnb zvu wpq jnl
|
||||
maa: oku omu
|
||||
cza: yny
|
||||
nvd: far pny
|
||||
qkz: jhf gzx
|
||||
sbk: hbs hut
|
||||
rpe: jem ggo
|
||||
elv: gel xwc bqi yag
|
||||
qlg: bgw
|
||||
tnr: hmb
|
||||
yrg: you fhk hoo
|
||||
mbi: lzk fkn
|
||||
pdf: ksp fea how rlv lvc
|
||||
frp: qpk
|
||||
owg: aum kez
|
||||
utj: sug gzw
|
||||
bfb: ipm glp pwf fwp
|
||||
byz: gxw cxu
|
||||
buf: jvj hrd yrr ari
|
||||
hrk: kpd efc yxj
|
||||
trd: qwv wzq
|
||||
hor: hsv far pny jue
|
||||
tgh: wzq zih
|
||||
szr: zyf
|
||||
zev: sav vkg uhr
|
||||
irr: wvx gct kha lsg vvm jzz eat ixw edo xrw kdw czw tnr zst hkm
|
||||
fps: oku
|
||||
yrx: xbo usg qyt qtz
|
||||
vnb: utj vqm
|
||||
zyf: fkn jhf lzk
|
||||
lzk: udf duj tzo haa pfh uwc
|
||||
axy: cqw zbw
|
||||
sfh: hlf rpe sur
|
||||
oai: ufm
|
||||
ojk: zvu wpq ctz fnb
|
||||
vxd: dqg zot
|
||||
mvm: fmn
|
||||
yiz: fdk
|
||||
fdk: pkw hwn xik
|
||||
tsb: fkn gzx
|
||||
nuf: wau boq
|
||||
gyg: wpq zvu jnl
|
||||
jvz: wyk zdh
|
||||
boq: aoe fnp vuk rtw
|
||||
ckx: out
|
||||
ffm: cjw pdi
|
||||
jti: fmn cjl
|
||||
eaq: lzk
|
||||
hhy: ovu ybz hdz
|
||||
urb: fnb ctz
|
||||
yrj: ruw wau
|
||||
lql: trg tyc
|
||||
you: qsz bqf tqh zln kii bgd pth
|
||||
lca: ypy tfr rwd
|
||||
ble: bgt nqy
|
||||
sby: ybz hdz kkt ovu
|
||||
war: tqy
|
||||
nii: aub zev hmp
|
||||
fnb: zdl nvq tjx tog ljh vaw ipx
|
||||
vkn: snz rxy cph
|
||||
iof: out
|
||||
cfl: swy nqu mla
|
||||
cqb: nqy qiu
|
||||
swy: nfb lhi eez prz wkl
|
||||
jiq: you hoo jbz
|
||||
lni: wkq cvo toa roi vdh
|
||||
uhr: dst rjv
|
||||
nfb: inn kbb urb
|
||||
afj: xjw cxv jrw qbx lak
|
||||
usl: pvq
|
||||
pxn: zvu ctz
|
||||
dod: rpe ntd ohw
|
||||
gzw: lzb lpf utp jum vkl uuw ndl hki qlt kyi cfs jdq pbm eqc acs nvd pyx
|
||||
hki: tue byz
|
||||
tua: ctz wpq zvu
|
||||
hmp: ocz
|
||||
tve: kud yug
|
||||
qpk: tsj pvp pvq
|
||||
iyd: prb dmu
|
||||
jrw: rtq kwa
|
||||
ndl: jho tjf
|
||||
hdz: vvm hkm alk tnr sor zst
|
||||
evf: cdg miw
|
||||
nbl: ozr
|
||||
ibe: wby bso axb wra
|
||||
coy: nwn nqi qmj vis
|
||||
kha: eem idt
|
||||
irc: fnb ctz jnl wpq zvu
|
||||
cfs: zke zkb mxl
|
||||
kzq: arh vdf
|
||||
gct: rta
|
||||
mbr: gzw fmn sug
|
||||
cdu: zyf tqw
|
||||
vkg: mvm
|
||||
nqu: wkl prz eez lhi
|
||||
pql: utj lof bhd
|
||||
pvq: fmn gzw sug cjl
|
||||
zpr: kkt ybz irr
|
||||
qsz: ums sjv
|
||||
dwh: eky nwy ozt hkv
|
||||
cjw: out
|
||||
fjn: pym hrk
|
||||
zih: fkn gzx jhf
|
||||
eez: inn
|
||||
ulz: nqs eva dac
|
||||
ufm: ckx snz cph
|
||||
whl: fdk naw deb shb
|
||||
hsv: iep axy kir cze
|
||||
qyt: dzo
|
||||
rtq: gbo ffm cvj
|
||||
cyf: yat
|
||||
ssr: tkz
|
||||
yol: wpq
|
||||
yny: tsb mix
|
||||
ubu: idv miy
|
||||
cxv: kwa rtq weu
|
||||
hmb: cza wby
|
||||
brs: out
|
||||
deb: pkw
|
||||
bhd: gzw fmn cjl
|
||||
ewj: vku
|
||||
abg: ubo szz dwf yrx
|
||||
prb: xiw geg
|
||||
jvj: eaq dlc
|
||||
qit: ybz hdz ovu irr
|
||||
vkl: tal tue
|
||||
tjd: miy
|
||||
eev: tjd ubu zbx
|
||||
usg: wzl dzo xln
|
||||
miw: hkv uak nwy
|
||||
ulw: lzk jhf
|
||||
yag: bdu tkz tuz
|
||||
weu: gbo mkb ffm
|
||||
hkm: knd
|
||||
mdt: zrw fft omh
|
||||
aji: chx tsb mix mbi
|
||||
trg: vjv nbl
|
||||
eky: gvo
|
||||
ubo: qyt
|
||||
abv: bgt qiu
|
||||
pwf: cdu pdk szr oaa
|
||||
jem: iyd nlq
|
||||
csr: yol uub gyg
|
||||
yyb: nqu txo
|
||||
zrw: wrv mbr
|
||||
qou: gfq aaf bdj
|
||||
kpp: daa
|
||||
sem: vnb kwh
|
||||
hvb: qou
|
||||
uwc: ulz
|
||||
mkb: pdi dev
|
||||
amg: afj xwa uru ral mhm
|
||||
pth: afj xwa mhm
|
||||
how: wqv rqw
|
||||
dwf: qtz usg qyt
|
||||
jum: zkb zke
|
||||
woi: out
|
||||
yat: tfr coy ypy
|
||||
pvn: jbz hoo
|
||||
alk: tve knd rta
|
||||
sjc: wkq roi toa
|
||||
ryf: kkt ovu
|
||||
vjr: nwy uak ozt hkv
|
||||
abw: gyh cri vyu rng jsk fik nuf wmy ybn nyf tmg yrj ffw flj qoy oxu rys hvb que rua fxt
|
||||
ums: zmg ses
|
||||
fhk: amg cxl ewj amz pdf cym tqh sfh zln ykn
|
||||
gbo: icr
|
||||
tfr: jsp
|
||||
fmn: pyx acs nvd ome eqc cfs jdq zqd kyi qlt hki ndl hor utp jum lpf btl lzb
|
||||
gfq: hit pxn tcl
|
||||
ndo: yqu irm
|
||||
hgu: out
|
||||
yhh: ybz hdz ovu irr
|
||||
otm: pvp hfl
|
||||
qla: isx yiz
|
||||
dzo: out
|
||||
wqv: vmw fjn rms
|
||||
bww: gzw sug cjl
|
||||
qtz: xln wzl
|
||||
tjr: bso wra axb cza
|
||||
hbs: uzz
|
||||
yrr: cwr
|
||||
gyt: you hoo
|
||||
wff: daa
|
||||
bfn: ohw sur rpe
|
||||
yoo: fhk hoo jbz
|
||||
ixw: fnk
|
||||
dzl: zev hmp
|
||||
tqy: fmn
|
||||
zkn: tjd zbx
|
||||
cri: aik feh qtc
|
||||
daa: xhr
|
||||
lvc: hse rqw
|
||||
cxu: znl vjv
|
||||
vqm: fmn sug
|
||||
nqs: jiq jky
|
||||
rjv: sug cjl fmn gzw
|
||||
kir: sby zbw
|
||||
kml: dqg
|
||||
qke: qiu jvz nqy
|
||||
svr: nxn mhj ybx abw jbq
|
||||
pbm: rez sbk
|
||||
haw: uga aub hmp zev
|
||||
drg: gzw
|
||||
eat: evf
|
||||
kpd: out
|
||||
pdg: ovu kkt hdz ybz
|
||||
hlf: uzk ggo ary
|
||||
tjx: teh kcm sem
|
||||
ses: rdv kzq vew ynx bcp
|
||||
oxu: boq ruw
|
||||
zbw: irr
|
||||
ozt: bko qkz wxb
|
||||
vre: rdv ynx bcp
|
||||
aub: vkg uhr
|
||||
tmp: xhr war rqe
|
||||
pdi: out
|
||||
hse: fjn
|
||||
gyh: qtc feh
|
||||
nlq: dmu qoq
|
||||
zvu: tjx cdj zdl kml ipx kkf vaw bcm epr ljh ajt nvq lfk aco yws kpp wff vxd nrb evs
|
||||
rez: hbs auy hut
|
||||
hfc: hoo fhk jbz
|
||||
nyf: wzh rao
|
||||
tal: trg
|
||||
uga: vkg ocz
|
||||
dac: jiq jky gvc dny
|
||||
ued: ovu
|
||||
thh: ffe tgh xfk
|
||||
icr: out
|
||||
rua: hfe xrk
|
||||
bdu: oai bnz
|
||||
kkf: hkt haw nyp dzl
|
||||
rwd: vis nqi nwn
|
||||
aoe: zvu jnl ctz
|
||||
kwh: bhd lof vqm utj
|
||||
dlc: fkn gzx jhf
|
||||
vyk: kvl vqb bww
|
||||
vyi: chx
|
||||
hfe: gfq
|
||||
xik: hoo fhk you jbz
|
||||
tsj: cjl sug
|
||||
vdk: ckx brs cph
|
||||
dst: sug cjl fmn gzw
|
||||
vil: dfy ued
|
||||
ljh: tmp
|
||||
ggo: oty nlq
|
||||
aoh: boq ruw
|
||||
hrd: dlc
|
||||
yqu: jbz fhk you hoo
|
||||
vdf: vdh wkq cvo
|
||||
nvq: haw hkt dzl
|
||||
gvo: lzk
|
||||
mug: xuq
|
||||
ctz: yws kpp yzg mdt lfk nrb wff vxd zdl kml cdj ljh tog ipx bcm
|
||||
rtw: fnb ctz wpq
|
||||
uls: gzw fmn sug
|
||||
vew: sjc
|
||||
knd: thh kud
|
||||
pdk: tqw ulw
|
||||
owi: hdz ybz
|
||||
qtc: gvn ojk
|
||||
fkn: hho udf vfz cyf wiy uwc inh iyj qlg grv mfs pfh qla abz pli cvr
|
||||
pvp: sug
|
||||
lhi: urb
|
||||
nyp: uga aub
|
||||
mvt: mix mbi tsb
|
||||
ybx: nyf aoh flj yrj rys rng epz rua wmy
|
||||
auy: pdg hhy
|
||||
vis: gyt cwn
|
||||
mla: nfb wkl prz lhi
|
||||
hut: uzz pdg
|
||||
jsk: wkc wzh eev rao
|
||||
fik: cfl
|
||||
bqf: fea rlv how ksp lvc
|
||||
acs: tjf ugr jho
|
||||
tlz: ojk
|
||||
fnu: hoo
|
||||
cut: dac
|
||||
lzb: cre
|
||||
wiy: pxs mug
|
||||
pxs: yoo
|
||||
jhf: haa uwc iyj wiy duj cyf udf gqb cvr ana pli tzo abz qla hwe qlg gab grv
|
||||
zqd: sbk
|
||||
ocz: dst
|
||||
kud: trd ffe
|
||||
yns: yqu dgj
|
||||
gzx: vfz rgs gab gqb qlg udf inh ana iyj duj wiy
|
||||
pfh: lca yat
|
||||
xjv: kxf
|
||||
haa: yiz
|
||||
kwa: gbo ffm mkb cvj zcl
|
||||
zbx: csr idv
|
||||
bcp: bew lni vdf
|
||||
rqw: vmw fjn rms
|
||||
zcl: dev pdi cjw
|
||||
wkl: kbb
|
||||
wkq: out
|
||||
125
src/day11/main.rs
Normal file
125
src/day11/main.rs
Normal file
@@ -0,0 +1,125 @@
|
||||
use anyhow::Result;
|
||||
use std::{
|
||||
collections::{HashMap, HashSet},
|
||||
fs,
|
||||
};
|
||||
|
||||
fn sol1() -> Result<()> {
|
||||
let text = fs::read_to_string("src/day11/act.txt")?;
|
||||
|
||||
let graph = text
|
||||
.split("\n")
|
||||
.filter(|a| a.len() > 0)
|
||||
.fold(HashMap::new(), |mut g, m| {
|
||||
let mut split = m.split(":");
|
||||
let node = split.next().unwrap();
|
||||
let outs = split
|
||||
.next()
|
||||
.unwrap()
|
||||
.trim()
|
||||
.split(" ")
|
||||
.fold(HashSet::new(), |mut s, a| {
|
||||
s.insert(a);
|
||||
s
|
||||
});
|
||||
g.insert(node, outs);
|
||||
g
|
||||
});
|
||||
|
||||
fn count_paths(t: &str, visited: &HashSet<&str>, g: &HashMap<&str, HashSet<&str>>) -> usize {
|
||||
let mut visited = visited.clone();
|
||||
visited.insert(t);
|
||||
let mut sum = 0;
|
||||
for i in g.get(t).unwrap() {
|
||||
if visited.contains(i) {
|
||||
continue;
|
||||
}
|
||||
if *i == "out" {
|
||||
sum += 1;
|
||||
continue;
|
||||
}
|
||||
sum += count_paths(i, &visited, g);
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
|
||||
println!("sol1: {}", count_paths("you", &HashSet::new(), &graph));
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn sol2() -> Result<()> {
|
||||
let text = fs::read_to_string("src/day11/act.txt")?;
|
||||
|
||||
let graph = text
|
||||
.split("\n")
|
||||
.filter(|a| a.len() > 0)
|
||||
.fold(HashMap::new(), |mut g, m| {
|
||||
let mut split = m.split(":");
|
||||
let node = split.next().unwrap();
|
||||
let outs = split
|
||||
.next()
|
||||
.unwrap()
|
||||
.trim()
|
||||
.split(" ")
|
||||
.fold(HashSet::new(), |mut s, a| {
|
||||
s.insert(a);
|
||||
s
|
||||
});
|
||||
g.insert(node, outs);
|
||||
g
|
||||
});
|
||||
|
||||
let mut node_hit: HashMap<&str, usize> = HashMap::new();
|
||||
let mut node_hit1: HashMap<&str, usize> = HashMap::new();
|
||||
let mut node_hit2: HashMap<&str, usize> = HashMap::new();
|
||||
|
||||
fn count_paths<'a, 'b>(
|
||||
t: &'a str,
|
||||
end: &'a str,
|
||||
visited: &HashSet<&str>,
|
||||
g: &'a HashMap<&'a str, HashSet<&'a str>>,
|
||||
hit: &'b mut HashMap<&'a str, usize>,
|
||||
) -> usize {
|
||||
let mut visited = visited.clone();
|
||||
visited.insert(t);
|
||||
let mut sum = 0;
|
||||
if let Some(n) = g.get(t) {
|
||||
for i in n {
|
||||
if visited.contains(i) {
|
||||
continue;
|
||||
}
|
||||
if *i == end {
|
||||
sum += 1;
|
||||
continue;
|
||||
}
|
||||
if let Some(c) = hit.get(i) {
|
||||
sum += c;
|
||||
} else {
|
||||
sum += count_paths(i, end, &visited, g, hit);
|
||||
}
|
||||
}
|
||||
}
|
||||
hit.insert(t, sum);
|
||||
return sum;
|
||||
}
|
||||
|
||||
// after some testing there is not path from out -> dac or out -> fft or out -> src
|
||||
// our fft -> dac
|
||||
// so the result is just svr -> fft * fft -> dac * dac -> out
|
||||
|
||||
println!(
|
||||
"sol2: {}",
|
||||
count_paths("svr", "fft", &HashSet::new(), &graph, &mut node_hit)
|
||||
* count_paths("fft", "dac", &HashSet::new(), &graph, &mut node_hit1)
|
||||
* count_paths("dac", "out", &HashSet::new(), &graph, &mut node_hit2)
|
||||
);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn main() -> Result<()> {
|
||||
sol1()?;
|
||||
sol2()?;
|
||||
Ok(())
|
||||
}
|
||||
10
src/day11/test.txt
Normal file
10
src/day11/test.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
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
|
||||
13
src/day11/test2.txt
Normal file
13
src/day11/test2.txt
Normal file
@@ -0,0 +1,13 @@
|
||||
svr: aaa bbb
|
||||
aaa: fft
|
||||
fft: ccc
|
||||
bbb: tty
|
||||
tty: ccc
|
||||
ccc: ddd eee
|
||||
ddd: hub
|
||||
hub: fff
|
||||
eee: dac
|
||||
dac: fff
|
||||
fff: ggg hhh
|
||||
ggg: out
|
||||
hhh: out
|
||||
Reference in New Issue
Block a user