Piotr Czajkowski 1 неделя назад
Родитель
Сommit
297762db83
2 измененных файлов с 613 добавлено и 1 удалено
  1. 14 1
      11/code.go
  2. 599 0
      11/input

+ 14 - 1
11/code.go

@@ -31,6 +31,19 @@ func readInput(file *os.File) map[string][]string {
 	return devices
 }
 
+func part1(entry string, devices map[string][]string) int {
+	if entry == "out" {
+		return 1
+	}
+
+	var count int
+	for _, device := range devices[entry] {
+		count += part1(device, devices)
+	}
+
+	return count
+}
+
 func main() {
 	if len(os.Args) < 2 {
 		log.Fatal("You need to specify a file!")
@@ -43,5 +56,5 @@ func main() {
 	}
 
 	devices := readInput(file)
-	fmt.Println(devices)
+	fmt.Println("Part1:", part1("you", devices))
 }

+ 599 - 0
11/input

@@ -0,0 +1,599 @@
+vwm: xoe ydz tbn
+erq: qws zsm fmb rya
+wzf: mxt arh gjd
+qee: you wjk
+zhy: tyc
+pgy: out
+rkn: ads ybl hvw uzv
+aoz: cyk qhr scn jex pcv
+dot: kxu
+nbx: ffq ahp owr vvs
+dka: ksc bcv
+yej: nbx hpk fqp uub
+glt: lin jrw
+hbq: wjk you
+nja: mqk dmr
+nct: you eax
+mqk: cyw djr
+lfw: svi
+iyq: xdw rvx bcv
+wcr: iwz
+pkc: ron pst wte qug qee
+ehv: gst ibw knv
+uzv: abn nfd
+tiv: szt
+iii: mbl asl
+eok: eax you wjk
+fvh: mnp
+lyj: tsv dtv xrg jck
+qza: bor uzm kpa rgp
+xxj: jec
+gqm: out
+svr: brh elo yfy
+vxe: nzf
+pne: mup kma
+kkq: nzf
+szl: fdh
+pnn: yyo tyc dpx djd pfr
+vir: hak yog syp
+uvb: nlp mci
+hpa: uwd mlo
+tby: vwm zet
+qoe: out
+gio: own ohd
+wke: fqn nlp lmh dmf
+xaf: hug
+par: ipt uiu
+bjl: oic bkp
+rsv: luf
+klr: oax
+qwi: kxu tfq
+eld: you
+cyy: out
+xuj: mbl pne
+xnr: nja ycv zex dyg
+tuv: kpa bor uzm
+ohn: fgu
+trc: you eax
+qug: you eax
+ngl: out
+ybl: xeq
+djd: lyw tuv sxv
+ylt: mup kma dbb
+drm: pvr ust
+fgu: kxk cyw xax
+wsm: ron
+img: gao uwd
+xtb: wee
+cja: mlo
+hpk: ffq vvs
+xnb: gcc hbq
+qrj: luf fgn
+pbr: unh
+hak: zrf
+xax: zgj qpb ieb wki mpe yej
+ysz: jck dtv tsv sjw
+akt: jck dtv xrg
+qbe: mlo
+stb: ezs gju
+scn: mqs
+elr: out
+ksc: wcr
+mup: teo lwr wrw sah ozk yoc tby uwx xaf gis hyk bue rag lsq oci cfq uyd xft
+qqn: hfh mbf ptu
+vdm: bkp
+msc: lrh dpf xxq
+mxe: eax
+yyp: urh
+ryi: msc jec wlw
+zsm: scz wzm
+mjf: bff dsk
+nzx: you eax
+mbg: qxf wvx
+faw: zkd aiq
+you: ntn iyq slr aoi uzc cpc dka avk top jqq qrj fth edy
+dff: lau
+bcv: iiy nkk pbr
+emo: ohn cwd
+sxv: bor kpa rgp
+vzw: djr xax ert kxk
+fdh: xka lpc ygz
+muh: mbg mib
+mci: klt
+ojr: mup kma dbb
+zuo: msc
+woh: zew qgi
+nuk: fft
+vco: dyg ycv zex
+foq: wip kxu
+lqr: hqx jzq gfl hda
+aue: xaz lzf nzc fgu
+nzj: lin dwd
+bag: out
+xhc: xax djr cyw ert kxk
+nbs: lbi kgc
+qvd: cgy
+bin: cro ehv rbc
+fmb: ibn prl scz
+wcs: mnw xjx
+ouk: zuo xxj ieo
+hns: ksi ybl hvw uzv
+xnf: bsq pgy
+sib: pkc udo ebh wsm
+cqw: xnf
+tkm: uct xop
+pxt: fbq hrs
+ilf: xpg pgl
+uvm: rsi
+wgo: svi nvq idw
+cdp: gik hkk
+pfr: qza tuv
+azo: uzz
+rag: gsu grf hoj nuk
+pst: wjk eax you
+sjw: mnh
+puc: obs
+qjd: lab lau
+epu: kxk xax djr
+ovz: pxu bkt uvm ehs
+haz: eax
+nzc: kxk ert djr xax cyw
+dyd: nzf
+sah: nzj wxm glt leu
+pxu: vpa
+uiu: uwd mlo
+rqu: egm mfs tpu
+gxe: mbl pne asl
+yoc: por hug faj
+zew: out
+nlf: xyl
+mnp: zex ycv nja fmz
+uza: asl pne
+xkt: uiu usi ipt
+top: muh
+pdp: mlo gao
+foc: cyw kxk
+mnh: vii fbq hrs
+cwd: nzc
+ffq: wij nzf
+kkp: out
+dzt: fbq
+rsi: qjd
+rln: icq pje gqm qoe
+hqx: out
+snd: vco fcm isz
+umv: xaz lzf nzc fgu
+zty: syp
+pdd: qge uun
+roc: ivr wij
+cum: msc
+qge: kkp bag
+ptu: onp qwi tuz
+bny: bmk szl axt
+wlw: xxq lrh tct
+ykl: own
+hkk: etk gom
+svi: mib bgu yvd ufv
+shp: aiq trg bwr
+cyk: sbj
+hoj: nlk
+fcm: dyg zex ycv nja
+coz: mha qgi zew
+lab: kvl
+oto: mup
+wip: ylt ywu yzl
+lin: cja img dsl
+lsi: fxm loi
+jhg: ane usi
+xpg: mup dbb
+eeb: rzj dsk bff ngg
+jfh: bsq fyd
+ezf: onh snd
+ycv: mqk qpx dmr epu
+ntn: uvm ehs
+ane: mlo gao
+zbi: wij
+lou: you eax
+vgz: trc eld ntb eok
+fgn: uzz izu
+pxp: bjl iwz unh
+bsf: zwd vor ucw nff
+cro: aoz ibw
+bmx: eok eld
+zzu: mfs tpu
+ozk: gsu geo grf nuk
+ibn: hgy
+zna: pri uct
+tuz: wip
+eax: puc lfw gsq joi hbv rsv uzc jqq dep ovz
+tpu: iyk pli
+dyg: epu mqk qpx dmr
+piu: cum zuo xxj ieo ryi
+paz: ivr wij nzf
+yfy: dgz qqn smq hog hkz equ hns stb usx klr prz rkn zzu ltq ivl lsi fem nas
+nlp: ecu tiv
+sxp: uiu ipt usi
+uzc: idw nvq
+pgl: dbb
+dpk: wij
+iod: esi iac bsf
+lpc: mpt ddi qif
+xyl: emo tur
+hme: mha xnp
+iwz: oic
+spf: ygh bmk
+kru: sbx obs
+taf: szl ygh axt
+cpc: bkt uvm ehs pcw
+pje: out
+jzq: out
+lfr: uwd
+alp: nbs
+acu: lpc ygz
+prz: loi
+wee: suc kkq
+faj: pdp hpa lfr
+bkp: uih gfl
+evo: fqn dmf nlp
+lsb: cgk fmb rya
+psl: drm
+nff: wij
+zex: mqk
+jqq: rya cgk
+mha: out
+xrg: pxt irw fpk mnh
+hrs: xhc auk
+xch: aiq bwr fjm
+zrf: kxk ert djr xax
+lau: elr cyy hdl
+vsh: eax you
+fqp: ahp owr
+bmk: acu
+bkt: rsi
+uub: dpk owr
+dsf: wjk eax
+xoe: gao uwd
+dmr: djr kxk ert
+tct: vsh jnw dxe xwt
+wot: xax
+lyw: kpa bor
+uih: out
+kpf: gao
+wzm: cqw
+ezs: pzz ojr
+hhv: snd fvh tmy
+zgj: djd pfr yyo
+ehs: vcu
+hug: qcy
+hvw: abn
+leu: lin jrw dwd
+izu: fhs nbs pdd
+dpf: dxe jnw vsh nzx
+fhs: kgc lbi uun qge
+auk: cyw djr xax ert
+mlo: evo pap ysz dhz lbl wts tga zty ezf wke oag hhv hwv uvb
+oci: vwm
+bor: mym
+rpi: dsk rzj
+uwx: wxm gjy glt
+wql: bwr fjm aiq zkd
+ngg: dac omm
+vnt: pvr mxe
+gst: jex scn cyk
+tps: wte
+qpz: snd khk onh fvh tmy
+wte: eax you
+wtr: kma
+pcv: rtj foc kku mqs
+mfs: xmy pli iyk
+vqq: eax you wjk
+yqx: rln
+ivl: egm
+yza: zkd aiq fjm bwr
+xjx: gqm icq
+yzl: mup kma
+gll: qwi
+tbn: uwd
+nas: ksi uzv
+cwk: you wjk
+ntb: wjk
+dep: cdp sbx
+own: ntb eld trc
+gju: pzz gdo ojr
+edo: msw pgy bsq fyd
+kgc: bag ngl
+fft: kpf mxt jrf gjd
+gcc: wjk
+jex: mqs kku rtj sbj
+uct: kwe
+imz: ivr nzf wij
+qws: wzm ibn scz
+mxt: mlo uwd
+gsu: wzf
+hfh: tuz foq
+pap: mge cro ffk ehv
+hyk: geo
+ubs: dyd nff zwd vor
+icq: out
+tfq: ylt
+owr: ivr wij
+gjy: jrw
+slr: fmb qws zsm cgk
+nzf: rpi yza wql isk shp piu xsp zna sib tkm oeb bik ykl ouk mjf eeb xch faw gio wxd suw
+pcw: mrd vcu vpa rsi
+hwv: vvn urh
+xdw: pxp
+hda: out
+iaf: ert kxk xax djr
+tga: vvn xyl urh
+svp: gao
+dhz: ffk ehv cro
+mge: aoz knv
+lrh: xwt nzx
+yog: iaf zrf
+gsq: cdp obs sbx
+pli: yrt
+hvv: pvr ust
+xsp: pri xop psl
+klt: vzw
+xaz: cyw
+abn: qdv xpg pgl
+vvs: ivr nzf
+xop: kwe vnt hvv
+jrw: img dsl
+ian: bmk ygh szl
+fbq: wot
+trg: kuj kas
+mnw: icq lxi pje qoe
+gao: nlf tga wts lbl ysz vir qpz dhz lyj evo pap bin uvb hwv oag hhv ezf wke yyp zty
+wki: szl bmk ygh
+qgi: out
+bwr: kuj
+suw: tps pkc udo
+ddi: nzf
+cgy: suc cxi
+vpa: gvm dff
+uzm: imz mym paz
+khk: vco xnr mnp isz fcm
+avk: cdp sbx
+ygh: fdh jhf acu
+hkz: fxm loi oax
+usq: kma mup
+ksi: nfd xeq abn
+lbi: ngl kkp
+zet: zlg xoe
+cxx: mha
+rtj: xax djr
+smq: gju ezs
+wrw: geo gsu nuk
+odt: dbb mup
+ltq: gll mbf
+obs: hkk bry
+onh: vco fcm mnp isz
+ffk: gst aoz
+ucw: nzf
+scz: uqx
+iac: nff dyd vor zwd
+cfq: glt leu nzj wxm
+cpq: wjk
+qdv: kma dbb
+psy: jsl elr kvl cyy
+mib: phe
+jec: lrh xxq
+equ: mbf
+vcu: qjd dff
+aiq: kas kuj
+fxm: bkg gxe xuj uza
+xnp: out
+bff: dac omm
+fth: ksc rvx
+kuj: cpq
+uzz: nbs fhs
+kas: pxi vqq lou cpq
+cbs: fgu
+bsq: out
+qif: nzf wij ivr
+wts: hak
+dac: jbl ahy xnb
+usi: uwd
+mqs: ert xax djr
+szt: cyw djr kxk ert
+esi: dyd nff
+rbc: gst
+dgz: fxm loi
+pvr: eax wjk
+tyc: qza tuv
+knv: pcv jex qhr
+isz: zex ycv fmz nja
+lwr: uqr faj ngb por
+iyk: neg hdv
+kku: ert kxk cyw xax djr
+heo: uub hpk
+dxe: wjk you
+cyw: zhy xcd pqt vlm taf
+gom: rln xjx
+uwd: wke ezf yyp akt hwv bin uvb oag qpz lyj ysz pap evo tga wts lbl
+wbz: xnp qgi zew
+lmh: tiv
+dmf: tiv ecu
+vii: wot xhc auk
+ieb: cgy wee xkm mhu
+msw: out
+nlk: kpf arh jrf gjd
+qgm: lqr bkp
+tvt: ert kxk cyw djr xax
+tur: ohn cbs cwd umv aue
+pri: hvv
+uqx: edo
+fem: tpu
+dcb: ffq vvs dpk owr
+elo: prz stb fem nas equ rkn
+dhc: nkk
+jck: irw fpk dzt
+ngb: hpa
+luf: alp izu
+zlg: gao
+jbl: hbq haz
+ahy: dsf cwk gcc hbq
+oax: uza gxe
+joi: dhc
+jhf: lpc xka
+ywu: dbb
+qcy: uwd
+gvm: psy
+ufv: phe fgq wvx
+xwt: wjk eax you
+mhu: cxi kkq suc
+irw: fbq
+nfd: qdv
+yrt: luo odt
+tmy: vco xnr isz fcm
+etk: rln xjx
+pqt: bsf ubs esi
+idw: mib bgu mbg ufv yvd
+vvn: tur emo
+asl: mup kma dbb
+wjk: kru cpc dep top aoi iyq lfw lsb wgo erq dha hbv fth
+aoi: xdw dhc ksc
+xqs: aue umv
+chh: xnb jbl cph
+njc: ubs esi iac bsf
+wxm: dwd
+ert: vlm hyb bso iod njc qpb pqt xtb zgj taf qvd pnn spf mpe heo zhy
+rzj: omm
+djr: qvd pnn xcd heo zhy vlm hyb iod bny bso njc ieb qpb yej xtb eqf zgj
+suc: ivr nzf wij
+vor: nzf
+ieo: wlw
+mpt: nzf wij
+hdv: usq luo oto
+ibw: pcv
+sbx: bry gik hkk
+jnw: eax
+oeb: bmx ohd
+fjm: nbn kas
+hgy: xnf jfh edo
+isk: ohd own vgz fbn
+fpk: vii fbq
+yyo: lyw
+bik: ryi zuo xxj
+pxi: wjk you
+cxi: wij
+oag: tmy fvh onh khk
+dsl: uwd gao mlo
+teo: vwm ejh
+ipt: mlo gao
+yvd: wvx fgq
+grf: nlk wzf fft
+rvx: iiy wcr pbr
+prl: hgy uqx
+gfl: out
+ibu: gdo ojr pzz
+now: vxe suc cxi
+fgq: hme woh cxx coz
+syp: jxo
+ahp: nzf ivr
+xmy: hdv yrt neg
+ydz: mlo
+ygz: ddi roc qif ilb
+xcd: mhu xkm wee now cgy
+nbn: vqq pxi nct
+oic: gfl uih jzq hqx
+gjd: gao uwd
+xxq: jnw vsh
+qpb: hpk uub dcb
+hdl: out
+kwe: ust mxe
+fyd: out
+phe: coz
+onp: tfq wip kxu
+bso: dcb uub nbx hpk fqp
+uyd: par sxp jhg
+ilb: nzf
+dtv: irw mnh fpk
+nvq: ufv
+fqn: klt ecu tiv
+bkg: asl pne
+gik: gom yqx etk
+hyb: bsf iac
+usx: hfh gll
+luo: dbb mup
+qxf: wbz cxx coz hme woh
+qhr: sbj mqs foc
+kma: yoc teo lwr oci uyd xft lsq gis rag bue hyk uwx tby
+kxk: pqt mpe xtb eqf zgj zhy taf hyb iod bny njc ian
+geo: wzf
+lzf: ert xax djr
+cph: gcc dsf cwk
+brh: stb usx klr lsi ltq ivl rqu qqn dgz equ smq hog
+tcu: gsu grf
+xeq: pgl xpg
+lsq: faj hug uqr por
+rya: wzm
+zkd: kas
+fmz: epu qpx
+jrf: gao
+kpa: imz zbi mym paz
+cgk: scz
+dpx: tuv sxv lyw
+rgp: paz imz
+eqf: ubs bsf
+lxi: out
+uun: ngl
+kvl: out
+dbb: tcu lwr tby uwx cfq ozk oci uyd xft
+pzz: dbb kma
+xkm: kkq
+edy: luf
+unh: bkp
+yao: xjx
+wvx: wbz woh coz
+dwd: qbe
+egm: iyk xmy
+udo: wte qug ron
+iiy: qgm
+qpx: ert kxk djr
+zwd: ivr wij
+nkk: qgm vdm iwz
+axt: acu jhf
+jxo: cyw djr
+dha: pxu
+mbf: foq tuz qwi onp dot
+lbl: yog
+xka: qif ilb mpt
+ads: abn xeq ilf
+xft: zet ejh vwm
+fbn: eok ntb
+uqr: lfr
+omm: xnb cph ahy
+ecu: szt tvt vzw
+urh: tur xqs
+mym: ivr wij nzf
+ebh: pst qee qug wte
+wxd: ebh tps
+sbj: ert
+neg: oto odt
+kxu: wtr ywu
+dsk: dac chh
+ron: wjk
+ust: you eax
+tsv: pxt mnh fpk
+wij: shp oeb xsp zna sib rpi wql isk eeb xch suw wxd faw gio bik ouk ykl
+hog: ezs gju ibu
+mbl: kma dbb
+hbv: fgn azo
+gdo: kma dbb mup
+vlm: wee mhu
+gis: sxp jhg par xkt
+ohd: eok
+ivr: oeb zna gio tkm sib shp isk bik
+por: pdp qcy lfr
+mrd: gvm
+arh: uwd mlo gao
+loi: iii gxe bkg
+mpe: fqp hpk nbx dcb
+bue: sxp jhg xkt par
+bry: gom etk yqx yao wcs
+bgu: qxf fgq
+jsl: out
+ejh: svp zlg