From fac8626030e19a50bf652b1f665d5836a3b79616 Mon Sep 17 00:00:00 2001 From: Steven Le Rouzic Date: Thu, 19 Dec 2024 23:34:57 +0100 Subject: Day 19 --- day19/data.txt | 402 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ day19/example.txt | 10 ++ day19/go.mod | 3 + day19/main.go | 105 ++++++++++++++ go.work | 1 + 5 files changed, 521 insertions(+) create mode 100644 day19/data.txt create mode 100644 day19/example.txt create mode 100644 day19/go.mod create mode 100644 day19/main.go diff --git a/day19/data.txt b/day19/data.txt new file mode 100644 index 0000000..e515df9 --- /dev/null +++ b/day19/data.txt @@ -0,0 +1,402 @@ +rwgw, ruwgb, urwbr, wu, uurbubr, gbbr, uwwb, rubgwu, wggwbwr, rugubuww, uw, rgru, rgrr, rrg, rbb, uurbrww, br, uwrwrwgb, bwbw, wgbu, wggu, urg, ugr, ugur, gurrbrr, ubgrruu, bb, rburguu, urgg, wggugggr, brww, bwwgr, wugub, grgg, ugw, grubw, gbwru, rww, wbu, ggwbu, ugurw, ggwb, uubuwgb, bbugw, rgg, wurr, bwbb, wburbb, rbrb, bbrwgw, gwbb, ubggr, gurr, rrr, rburg, uug, bbrubu, bwgu, gwug, guw, buwurgw, rruwggg, ubb, wwb, wbrg, wgr, wgrw, gubrr, rrwru, gbub, rbr, rwr, rubwu, ub, bgwr, gu, ggggwrbr, wrw, grg, rbuwu, bgbr, ugww, wrg, brwub, gruu, gbwbw, wubw, wur, grggwb, uuwuug, wug, rruuw, wgwg, uww, gbgu, rurr, gwguu, gwrwbw, guuww, rbugw, gg, uwbw, ubgrubur, wurrb, rgugurr, wrr, buggb, urwrb, ubuu, rgu, gwggb, uuu, uub, bruubb, bww, uwgb, rrubwg, ubwu, ugu, buwrrbwr, bbr, rbrww, ubuwg, bwwrr, gbwg, bw, gguugu, bgbbw, ggb, wrruuwbr, rug, uur, rgw, gbb, wuwg, r, guug, gwb, wbgr, bbbw, grwgwr, gwg, rurur, bubu, rguu, brb, ugbbbrr, wugrrr, bbw, bbru, bgrbubg, ubw, uruu, wgrgrwwr, bbwrugu, gbbbwur, rubbwbuw, wuwrwbu, brwbru, wub, rbrg, wwbwrbu, grbbu, ubbbwb, urw, gwuw, uu, urwugu, bgw, gw, rbwwwurg, gubr, bbu, rur, rburwgr, gwwgr, gb, rbur, rbw, ug, wurur, gbbrrb, ruuuwugr, wwrgug, gbrugu, wrww, wuwbgw, uwwwgrgb, gww, grwwu, ggu, rrurr, bgr, ubugwu, wwgwur, urrrbw, bwr, wrbgbu, wrwbb, gug, bwu, ruurw, rw, wbb, bbwgwrr, wgg, ugwu, wr, wwwr, w, wbwbuw, guugg, bug, bbbb, brbb, brur, rbg, wuu, wurwgb, rru, urrrbugr, grr, rubu, uugrwbb, bgbrurr, wgw, gub, ugwwgr, urwr, wbwbg, wrrb, rwrgg, ggwgrgw, bwbu, uwb, rg, urr, brrur, wg, u, bu, ubbbrw, brgbbbbu, wgrgu, bgb, ubu, uugubg, bub, rwrr, gggbrw, gwwrww, grub, urgrgw, bru, wgwgb, wubrg, ugrwwbb, wbgwrru, gbwb, wugu, uwwwg, ubr, gwr, bguwb, guwbw, wrb, grw, gwwgbb, wbwwr, grbwub, ubg, bwbgw, rwu, uurb, rbwgur, ubbr, grrr, ubwg, rgwuug, rgb, grrbub, bwb, uwuuubg, wrugb, brurub, wurg, urur, uru, bwwrrr, urwub, uwr, brr, ggg, bbg, bgg, guuruuu, ubwb, uburgbb, gbgrgug, rbwr, uwu, rwwbuugr, ubwwg, wwr, brg, wruububu, bgbb, ww, wrgbu, ugb, gru, bbwgbr, brw, bwwbb, wbr, grbg, wbbb, brbrwwbw, gbgwrrub, wwu, wgb, rruruu, wuggr, urb, bwg, wbg, rbu, wwg, wuw, wrbbugg, rb, rrgrbrg, guu, bwwugr, rwrb, gwbrb, wrugub, ubbrwu, uggbb, ggr, wwru, rgbb, bbgbgrr, wuruw, gbg, ubbwrg, bur, wuwuu, bgu, ruwgur, gbu, wwuwb, ggbgg, ugrbb, bugw, rggrb, rrw, rgwru, ubru, grbbuw, wbrr, wruu, ggw, wbgguuw, rggrugw, gbgwwg, gwwru, gur, rr, wbgb, burbwr, rggu, wgwu, rwuug, gwrbr, wbbwbgb, wurb, gbbuggg, gbbgbg, ur, ugwwu, wgu, bg, urrbgr, gurwg, bbb, urrr, bwurbrr, gbr, gwurb, ugg, uwbbrr, buggr, rub, bwrgbw, uwbb, ububggw, uuwrbbu, rrrwr, ruwgub, bugb, wwrw, gwbg, wwwrrr, urgggwb, gwuwr, www, g, wgrg, wbuwb, grwrg, uuw, wuwgb, buru, rgr, rrgu, urbgb, wgrr, gbuwww, rrgrgw, rgbrg, gugbuw, rrb, rrgbug, ugwbrgw, rwuw, grugrrbr, gbgww, ruw, wubb, gr, ruu, ubbg, brgurb, rwg, gwu, ruwr, grb, uwg, wgww, bgbbrww, buu, rurbgr, rwbw, gwwr, rwwbbugu, grgbr + +rubbgwuwbrwgrgrgrbrbbubgbggrbwrurwuggggwrbrgwbrrwb +urwgurrubuguruwuuuruwbbgrbbuwrbwrruuuubbuububuubrw +gguurrubwbuwgrbrrurrgbgburbrrurwbrrrubburuggbbgb +rgbuuwwwgbbwgurrwurgwgrgrbbbuggwgwugbrwb +rwggurbrgwrrwuururwwubgrurwwrubgguububururwb +ggrgrruwwwgrwuubgrggbbwrrgbrwrwgwwububrubguurggbrwbg +ggurrgrggwrwruuwrbrgbrubrbuggugwgrwgwurbub +wwwwuburrwbwugguwuwgwwrbggbwuwuuuuruwwurbwurgbwbggrr +urburguuwwwgrbrbgbbgbgrbgbubguugwubugwgrruuuugbbbbgubggu +guurrgwububururwgugrguuubrwrguurbuuuugrgbuwru +urwuwuuguwwwgrgbuwbgubwuwuurwuwggbwgubrbrguurrgrwb +bwwbbwuwbubgrbbgwuubrrbwgbggubbrbbwrwuuuguugwrwbub +wwwguwbgrrgbrgggwrgwuuwwwgwgwrgbrbgwgwruuruguubruug +gruuwuwbugubrwbbubrubgrruubuwugurbggrrbbbbg +wurubbwuggrrurbwwgrwubgbwguurbrwgwwwgrwuuuggwbguwwr +ggbguwrwguguwubgurgggrguuwugbuwbwwgwburgbwwuwgbrwbub +gwugrwruguwuugubbbrubbwbuwwwrgburrbbguwbgbgwrwb +grgugwwrgggbbbubububwuggrrgwruwrubwbrbbgwrwrggbuwrururrrrg +guwgggwrwrggbgwrrubrwburbuuububrbwrrrgurwugwggr +wuwwugwrbbuuburuururuwwrggbubwwugbuwugbburrwuwbubgbw +ugbggwbgurubbwrgwgggggwggrruubrgrwrgugwwgurrrbwbrwwur +wurubwrrbbgruurbbgurbbubuggubrrwwgbgwrwuuuwrgwbbrbw +rwwbruubgwrrugggwubgwwubwruuwggwrbwwbbrrwb +ugwgbguggggwwbwgwwuggurbwwgrbbuwurugwwrrrgugburruwb +brrrugbwrwbwwurbgbwwuugrbwbrgwgrgrbgrurwgwurgwruuguwbrurwu +rruwrrbgubguurwwugurrgrwbbuuwuburrbwwbbrggwuwr +uuwrburgruurrbuwwguurwbwwbwggrbubrwuuwuuwrbbg +gbbrrwgggbwwggwgwuurubrrurgwgwgbwgubwggrrbggug +wrwuggugbrwuuubbgrbugubbgurgrrburgwrbugrwb +bbbwgbuwbgrgggugrugwwwbwgrrbbbuubuguuugwburrrwrggwrrruwug +urbwwguugwrgbrrrrrrrbbwggrrubwgwugbbbuurugggrg +uugrugurbbruubwgbwbbbwubbrbbgwuuuwggwwwuubrrrwuwubrgrbrw +wbrugrwrwrrgugwugrrugugwubugrrrwbrwbwrggbwurrbgubgwbgbbgrwb +uwwbbubgrrrurgwrbgurugwbbrbbburggguugbwbrbgwbubuwbbgubgwg +rrbwbrbruwurwbwgggwrguwbbubuwuwurwubgwbwwgbubggwbbubbrbr +wwrwggbwwwrgubwrbwuuwbuuuwbrgwwrbrbrguruwrwbrrgrugb +wwbwrrubbbgwurbrbubwwbbbgbrbgbwbbuggrurbrwgwbubguurrwrwwb +rwurrgwuugrubggwbuubrbuwrggguwbgrbbgrgbbuwggbgwrbwgwbuuru +gwrrugbuurgrrwgbggwggguwwrrbgrbwwrrgwwbwubwbwrgbrgbgwwbgu +brrrwbururwwrwwrrgbwbubgbwgrgwwruuuwgugrwwrgbubru +uugbwguruwuwubburrgbbgbbrwrrbubuguugwgwwbw +gwburgbrwgwwubugrrrbuwugrbbwrrguwrbgbbgrggggbwuuwwgwgbww +rwwwbgwuubugurwbwururgbwbwwrwubgwuuruurbwbwgbwwbuwgg +bwwwbuwwrwgurbbwbguwwgwubwuwgwwubbwwwuwuuubbwr +urugrwggbbrburugwggbwbbuubbrbguuggwurgbrbbbgrbwuw +bgrbrbgbgwrrwgugbubbgbrurwrrgbwbbgrwrwbwwb +gbwubwgurggwbbgwwgbrrubguwgwwbrgwgrgwwwgwwbruwrwbuurwb +wuuwrwrbugruurrrrgwurguggbgwubugrugwwuguwwruuwbrrrwwruggb +ugrugbrrwuuwrwuguggwwgggubuwrrbwrugwwuugwbburrbrwb +wrrggbggbrgurbwguurugbwgrgwwgbwbgrbgwrbrwb +bugubbrwbuwugwwrwbgwugbuuubrwbugwrugggbwwrbgbwuurgw +bwrrwbrruuuugugggwgrgrwwrwwgwwgrbggwruwrwwwgrurwgggwbbw +gwwuwbuwwgwuurwwwgbruwuugruuwrgbbwugwbbwbguguw +uwrwwrurwwuwwwuwuubbbwbbrrwwbrrgbwbwggwgwruurrwb +rguuugbrbgrbwbbrwuuwwubwrrwggrwrgwwrgwuubwgbbwubbwbgbrruwu +gbgrgrwgbbbrwgubugwwuuwrrgbwbwgbwuwrugrbururbwrwrwbubrr +ruwrgurgguuurrggrurbuurubrbbguwbbrrbuuuwrgrwb +guurwgbwrbuurrrbugrbgbbrurbubbuugrgbwugbru +uggbgwrrgrrubgbbgwubwurgbbugububwrwbrgwbbbwwrwb +gwwgbbrrurbwwwrrrbruurbruggbrgwbgurbrwggwbrgurbbbwubbuw +wbgrwbuguguwrbbuurbubgubwgwwbrrrrbugurgggbbgb +buurgwggbbwgrrbruwuwruububuubrrbrrwrgbwbbwbwwururbgurbrrgrwb +rbgggbwrugrgwrwgwurggbrbgwgwgwwrbubbrwrbbuurugrrgwbrggbu +grrbbbwwguwbruwggwruwurrgrbgwubbubggwuugwubuwrrugurwb +rrbububbrrbbuwwuuwggbbwuwuwwrwgwwgwgrburbgrgrw +uuurugrbrrgwbrrggurrbubbuwguwuwgrurwbrbgwurwurw +rwubrwbuuuwbggrbwrwgwwrgrbrrbbwgrrwrwrrgbruggwwwgbbrwuuwrg +bburuwbugrggrwggrwbgbbuurwubuuugrbrrwgwgbrggrgggwbuuwbwbuw +wrbrbugwgrbuwrubwgwuwugbrgbwrwrgwururwrrrggrgurrwb +rggrbururgwuuwgbuwuwrruguugwbgubuwrubuwbrggbggbggrwb +gwurbruwrrgrrwbbwuwbgwrgwubbbuburrgbwrwrwb +urbrugbrwurgrgbrruwrbbrgwbrrbrwurbbbugwuugrwguwr +brrgurwwrguuubrggbggwwbgbgrrwwbburwuwrrwggbwubrrbggugubu +rwgwwuugbwrwrguwrrbrgwrurbwurrggwuwuwbgwgwwguurgrwb +guggggubguggwugbgbbwwgurubwugrbwgububbggbbrwb +wgwrguwggbugwwgrrrrwgwwwwrwwubgugwugbwgwggubwubrwb +grwwgbrwbubbwrwwwubugbgrubuuwbgurwurrugbwrgrrr +uugwwbuubggggruwugrurguwwwbrggggggrwwwrbrgugu +rgubgwbwurrguwgwburwubgrgbubbrbrruugrugbgrwwru +wbwwrubbbguggwbuugrgwguruuggurwggrrbruwbwrgbuw +rgugbrwuurrrrrurubrrgguuwbrrwruggubbbubgbwguurburggbrwb +rbuuggwwurwuuwgubgrbrruwrburugurwuubbburrguuruwr +rwurwrbbubgrwgggwwwbruuubwrwuwuwgrgbrgrgbugwrubrrbwbwbwrwb +gwrgbggrwrgbbbuuggbgrrgrrrruurbrwuugbubgbwur +rrurrwuuwuguuwbububrrwugbwuurbbgguwrwrrgrwwgbrggrburwg +ubruwgwbrubwrgbbrbbubggggwrggrgwbgggbgrburuwrbbrurgrgbbww +wrwgubgbwruugwubbggwugbgwwugwrbruuuwrwbbrrrru +rwubrrgbwrbgrbrwggugbbuugrguruwwwugrgurwb +wrgruuwrgguwwbrurbbugbrgruwrgrwggrbwwbwbgwrbrwubwubrwb +bggwugbrbwbgugwuwwurrwrrrwrgrguwuwurwguggwbrrbugrwr +ugubbwurburwrrbbbgwrbgwuwgbubrrgwgubrubrgrbb +gbwuggwruuuguurrwuurubrbwwbbwwuburgwgwurbbubg +uubwugrgburwubbbuururrwrwrgwurbwrrwurrubrwb +urbrwgwbuugbrwgbugggbbwwbuguuubbubwbguuubgbrrbububrru +rrbwwwbgrgwgurwwuwrbgwrwgrruwbgwbgugurwgrbugrbgbrbruw +ugrwbgrbrburugwbgugwugurrgwgrgwwrbgguwgrwrwb +wwbgbrgrwgggrbrugwwrwrbgubgrwguwbwubwwbgguggbbrgugbugrbbr +ubrwgwuwguwbwgguugrrbwuggwubbwwrrurbwruwbuw +gubrwwrbbrwwbuugrbwwugbgwwbbbugwrgbwbwwbwguggb +rurwgbbggugrwbubugrrwugrubuwwwwrwububgwwrwgwbr +wgbbrbbubgrrwwwgugugurbrubbuwbgwwwgwwgwrbwbw +ubgubwgwrwbuubgbbgrwbubugbbbrugrgwurubwgubguwugrrbu +gruuuwggwwwguwwguubggbguguuugwugwwgugwrwb +wrwbrgbgurwgbrbgurbbbggrbgwgubwbbggwrbwgbbu +bggubwbggbgrrrrggwbwbbgrguurrrggwbgurgrgwbuwbwurg +wuwbggrwwwbubrbwgrgrwgbrurggwwwubwwgwgbwuwwuguuwwgggbb +rwrugrubggrbururrwuwurbrwbuuggrbrbuugrwubbruggrbwuuru +wbrgggbwgrwwubbbguuuugrburubbrbrrrwubwgwguu +wrugrwruurrbwwwurggwbbwbuggrbwuruugwrburrwb +rburbbrwwrwgwbrubgwgwrwgrbwurgubuguwwwruuggbbuwwwggrwb +gwuugurgwwwrwwgbrbwwugwgurwbbbrwuwwwgrgbwbbgbbgruwgwwgwrb +rruwgbbwwrugugugrwubgrguguuwggbrrbrbubbwugurbgbubb +uuubwuburgrrwuugububuuwwrwrgbwbbgwgubwwgwgubrrbgbruggbu +wgrwuruuurwwbrwbwgrrwwrgurrbubwrwbgwrggbrrgugbuu +ugwbrgbbbwrgrgwbrguwrbrrgggbbuubgwbwgbgrwbrrwrrrgbrbgg +rgrggguuguwgbgrgrrgwrbbwbgurrrgwbwwguwbgggrbugugrbrurwb +bbwuwgrbbbbwrbrgbrgbbbburgruggrrrrbwrbbrwb +wbwuuwrruwggubggbgwbwwbggwbgbrrruggbwrrrbrwrb +wuubruggbruggbwbwuuugwrrwuwrgbwwbwuwwwrrgwrr +uwwgrbuubwbwbbrwburbrggburubwgguuwbwgbwburggwrgbrwb +ggbrubuwuurubruuubrbrgwuubguwbgbgwrrubrrrwb +rwgbbburwggwwgbbbrruuurbgrgbggrbgruuggbrgggg +rwwbwgwgwwbrbugbuuwbgggggwgrurbgrgwgwrgbbbuugbbgruwgwwwbg +rbwubbwuugwggrruuuugbruwwwwuuuuurgbgwwwgwbggwgbrurww +rwguwwrgugrbuwrwwbbugurrrwubruwugbrwubrwrgrbggbgr +ubbbugrbugrwgwggbwugwwbgwguubugbggbggrbuuwwbbbbbwr +gburuuwbrwrguwbrubgbwgruuwrwgbrwbrwwgwbgwggw +ggwwwguwgbuwrggbugurrrwwwrbrrbgurbbbgbruwrwwrbgrwwbuugrwb +rgbgrbrrubwuggruuwbgggwguuwwwrrrwuwrrgrubbbgrr +uwwgrrbugrrbwgggwuruwuuwggwbgwggwrbbuwbrrruubuguwugbrurwb +brwruwruwggrrubrwugbgbwwuggggruubrruugbgurrgwwugrurbrr +rgbbrrrbubrgbbbuuggruuurguubwgwgrwwgrbbwruwwb +rrbuuwgbuwwwbggrgbuurrbwwbwbwbrwwubuurrggrbg +urgbuwuwwugbrbguugbrbbggwggwgburgwgrwgurrbwwgrbbgw +uubrrugwggwgwbgbbwggwrrwbruwbrwuurgwwugrwgrwg +rgrguwguwrgwwgruggbwwbugbruubgurgrwuwrugbbggbuwrrggrwuug +uwubrubgbbwrgbgugwwwwwubwwubrburbbuurgwrrbwbubrbw +rgrbbwggrbgrrggrgbububggwggwwwwbrubguwgbuwbruwgugrgwrww +bbrwwrwgbgbgbrwwubbrgwuruwbrbubrrburuurwb +uuwgwgubwwbburwgrrbwgwrugrbwwgbggrurgwbuwru +uuggrgwuguuwwrbwrbuwrbrbgbuburuwwbbgbggbbugwwbu +bwbgwgwbrbbbwwbwrwgwbwgurggguwugrubrubrbrbuwwuugubru +uwuwrgwuubbruurbbbururrurrrbrwggbgbbgwrbuwubgbrrgwuurwb +bwgbbrgbbbbuugurgrburrrugbuubgbbwwwwgbuuwuggbgwguubb +uubwbuurbbwgbrgruwbugguguwbubbgrgbbgwbubggrrbwrwb +rrrguwbgwuwwbrrwrrwguwurbgbrburrwgrrburgwbbrruwwrrwbwrb +rruguburbgwgrgbguggggrugrgwbwwbwrbggwwgbruwuwrwwbubgburgr +rurgbwbugrbrgbgrurruwbubugubbgwuubgrwgrwwwgwbwrwbbwb +bbgbwggwgbbwbuugrrubbubgbrbrgubrugugrwbrwwbg +gwgugbburwwwwgbwwubwrwrwuurruuwuwwurugrrrgb +wwwrrrgruwrrrwuubwbrrurwbwrwrwbwggggrrbwuwggg +gbwrwguguggbwwrrbwgwwbwgbbbgwbuwuwrgwwrgbwuurb +guguuugbrbgruwbwbubwurrwggrubruwwggbwwubguub +uubbrubgrwwwuwrwgugbwbgurgrbbrugbrurguwrwwbbuguuuburwb +gubbuuuuubbwubgrwwguruggrbrgrrubuuuurrwrwb +uwwgbgrgrbrrgrguwgubuuwbwgguwbgurbwugbbrgguw +buwbgrggwwubrgrggbwurubgrbuuuwurrbuwurbbbbbrubgbrbuwwwrw +uwbrrbbwwruurgrrgrwruruwuubrgbrwwgwbugrbbrggrbwwbgrrwb +rbwgwbrguubbbugwguwrgrgbggbrruggrwubrwbgbwwuuwrrgwg +rbrbbgwggwuuburggwwrruruuruggwubruwwbrurubwbu +rbubuuurbwrugurggbwwbugbguuuuuwrubbguwrwb +bbwbubwrbuwgubguwrwrwgbgrrwwruurwwrbugrrurwb +bbuguurruwrrbguuuugwrguubwuubrbggrwubgugbwbwrrurugrugrwb +gbuuwurrbrwwrubgurbuubugrrbwubuurwuwwwgbbgbrwbrrrubggrwbgwb +grggrugrrbruuwbbbrrugbbbbuwbrwurrwgbwbuwrwb +bguurbwgwgbgbgrgrbbwgbbwubbwggrbubrwrbrubrbrgrwbburwb +grrrbrrwubuuggrgrurruuwwubwuuwubrrbburbrwwggrwgurgwgggwr +wbgubuuubwuwbrububrbwgrugrrbrrwbugguwwuuugu +rrgwgrguwruwgrwwrbgrgbbbbbwrgbugbggbrrwb +gwbrrgrruurwurburwbgrbggruuurbrbwubguwgrrburbgwwwu +bwwbugbruwrrguubruwbruuwrrwuwbruwgrwgwruwurgrbgurgruguwbg +brgrrbururwguwbburgurgrggbgubuwgruuuurbrrrrwugg +uwrbugwwrwuwgwwbuugbuurbwwbrwwrgrbggbgwwwrbrbwrrubbgrugw +uuggwbwrrwgrruwgggbggbgbubgwgbugwwrggrgbrgrururgugur +bwwwrugrrgbggbggbwubburrgubgwgwwrbwwgwbgurw +gburbuurwgbwgwwgggwbguwuwruububuwububwuwbgg +gbwggbgguwggbgwwrurwggbuburwrrgrbgbbuwuuuwrggwggwb +gbbwwwgbgwurgrbbwbgguwrwrggguwbugwbrgbwurgwuwgrrug +rgbugwrgugwbbbgggrwgwubbbwuurbrbrwbrgrwuurwgrg +ruwbuwurgwbuwrrrgwbrwrrruwwgggwugbwwrgruwgwubbgrwrrrwu +brrbwbbgwwwuururbrbuuwwwuguwwburbrurwuwgbwrbuubrbbww +rrrwrwugurubugbubbgwgrggwbbggbrugwbwrbggburgbrwr +ubrggrgbgwgruggrgrrwbruubwrrurubrbgwrwbggbrgbbrgwbbbr +ggrbbggrurbrbruwwugwrbrwrrbwgbrwwgubwrbrrgrbbwwwruwggww +wugbrbgwwwwrbugbwwrrburuwrbruruwuuuurbuwwwbgrgbrwb +bbgbgruurgbubburgwruwgrwuuubbwbwgugwbrbuuwwgurrurgwwrrb +wwburbbgbwurubrbrurwwgrwgubbgwbgrguuugurbwuwbuwuwuru +bwrgbuwrrrbubbwugbbrrgwgrbbbuguugrwbrurwrugguubbrubuggrwb +rgrwugwgbuuwubwrguuburuuuwuwbgguwuubggrrbugrbugwbgwwubwwbb +wbwrgurwrwrgggbbgggwwrbrbgurggubbbgrgbwbug +rbwbuwgurbbbgwuubwbgrwwubwbbwbgggwurbbbgbuu +wbburugwgrwwwgwwrwrbubrwuwrbgbwgbbwbrrbwbubbwbruubgrug +wrwggwgwwuuubbgrrwggrguubrgurrwuurubwurggwbrbbbugwuuwubwgu +bggrgbruwguurrurrbwuuwgugbrbwbuwwgwrgurggwburbbwgbuw +wwwbbugrrwwbrbwwgwububbuggrgrurggrwgrurruggbburwwgwurwb +rbrrwubgrwrbrbrggwwrurrwbwrurbwgbubggbrrrwwrwb +wuburwgwrwuwggbwwrgwwwugbwbggrurgbrurruwburuugwrwb +gwbwurbrbuurgwwbuuurrubbbrbwgruwuwuuuugwgbbb +wguwrbrbrgbbbggbggbgbgwgwbrggbggwguwurwwbbwbrrrrbwrwgrwb +wwwbruruubrurbugrrwwuburubbguwwrrbbwbbbrgbbubuwrurugr +brurrgggruwgrburwuggugrrbwbuuwbwuubgurwubruwrgwurbrwb +gwrruuwbrbwwbbbuwbwgrgubgggggwubgugubrbgugwuuburubugruwu +uubwruurruwwbrwburwggugggrguuurrgbbwbuggbwbuuurbgrwb +ggwrurbgrwgbbbruuurbbuubrwururgwwbuuwgrgwrgbubugrbrrgg +gubrurubwbrgrwwgggwwbwwguubbgggbggwbwwrguwrgwuggr +rwwugrbggburrrrbgwwgwgrurbbrguwrrbbbruwubgrgbrrwb +bgrrrbbgrguwgwwgurwwwrwugwwgrgrrwwguugbbruruuuwburbbuur +gwrgubrbubbbbrggrrbgwuwwbgbbuubugwgrwubgbbr +bwwwgwguwrrguruugwwbwgrgrwwbbwbrrgwbburuubbugbbrgggw +wburrbwwgubwbbwrbrgrwrbwugwuwwgwuugwwwgurgrguwuwgrgruu +wggrrrbgbgwurwrrwbrubbwbrwgrrwuugbrwwuwgruwwurw +rrbwggggurwrbwrrwubbrrurwwgbbrwuuwrruuwbrwb +ugwwwrbrbugbgrbuwbubwuggbwwugbgwrrwurrrwrrbgwrub +gbwgguuguuuugwgbuubggwuwbgrrbrbgwwbgugguruwrwggwwrwgwgu +wuubbbugwgrugububgrbgwugrurruwbwrbggwbgbbgurgrgbw +gwugwbbrwbwgwrwbrgurbwuwuugrrrbwwrburubgwrwwbbg +wwrgrrbubbuuwwbuwgrrwrrgggguwrrubbugrgwwbbug +gwubbruruuuwbbgrugbbbgbgwurwgwgwbwbwugggugbwuburwb +grgwgwrugugbgbwwbwubgwgbrgwguuwrrwwwugbgwgbgwruwwrwgwwrwb +rwrggugrwbbwgbubuwuwrrrgguguwrggbwbbwrrwb +rbgbwuwbwrbbwbbgugwgbbbwbrrrugwbrbubgruburwgwrrwb +wrrgbbbbwwuwgrgrrrbgurugbuwuubrgbgrbbbrrwb +ggrbwgwgrugrbrrwgugwguuwubuwwrugbbwwbbwuwggwuu +rwuuwwbugruwrruubuwuruuwubrugwrrwgruwrwrubbruruuwwg +rwrwuwbuwugbubgbbrguwgubuubbuwbwbgurubggbgubgwu +ugrrrruuwruuguwggubguwwwgrwuuwrwugwruwgrrbbw +ggwgwgurwrggrrwgwruuguwrugubrbuurwwruwbgrgrwb +rwbrrwuwbbbgbrrbwburwbbgbggwbbggwggugggrrrwbugg +ugbruwrruwgrbwuggrwwbruwwubrurrggbubgubugbgruugrrwb +wwwuubbwubwrubgubwrugrurbugguurburrrrwgguwwuggugurguwurwr +bwwbrruwbugbwguubbgggbrwbbrurgwbrwgggbgugbbgrbww +brgbwwubgubguwugwwuruubggwwuuwgwgwggbbwwbubbbggu +rbbrbbrurbuwwwguggguwgwggburbggubuwwbrbbubruuwwbgbru +rwuuugbwgwuugurbwrrwwbugbggbuururrbgwbwuuurggrurbgwbgggrrwb +bbgrgwwugwbwugggbugbgubgbgwbbuwrruurbwurwrgwurwb +bgwgguuwggrbbugbgwwwrwurrrbugrgguugrbgwbgwgwggruwwggwwgrwb +urrwggrubuwgbwggbbuwwbwbbwwrrgwrwbgurwurru +uwwbugruuuwggrrrrrbrrrbrurgwrrwwrrwbwbruwbbbuggwuu +wrururubbrugbggubggrbruuuubuubwuggggwwwubbwbbwbgbgbbgurwb +ubrubrbrgugurbuwrwuuwgbgwwrrwrrbbgwgbwruwrrrggggr +rbwguruwbgbgbbbbubbrrrugrruggurwwgrrrbrwb +rurgwubwbwgubwrbgguugrruururgwgbuwwurgugww +bwugrgruugguguwbgrbbbwuuwrrgwrrwrrubgrbrgbrggbww +rrgwbrwggbbgrggugurwgrgbrgwgbwrruwgwggwgrwuwrwbburwwbu +uurbwggwubwgwwguwbbgwwggugrrruggbgwbrrgwrr +grwbwbwrgrwrrubbbgwgrbbwrbgrurwrguwwwwggrbwbrwubbwrggr +gbuwbugrgubbrrbwwrbgwuwrwrbrbrwwbwbwrwuurrruurwb +ubrwurrrwwrbgwwgguubuwwgwbguwggurwbbgrugwbbrubug +rbugbwbguwggwwrwbbgwwuuruwwbrububbrurbubrgwwrbugugwbubggru +uuguruubgwwrrrwwugwurbgwbubrgrurrgwuuuuuggwbgrwbugu +gwwbugrrburuuwbwwbbugguubuuwwbuwbuwgubuwbruuugrgurgbuuubbw +ugwwgubwubbrubbrugbbbrurwgrgubgubugururgwgwwburgr +uggrgbruwrrbwrwgrruurwgguguwrwrwgbrggububgwrbguwbugwwguw +gruruurbgwrggggbrrugrbrgubrurrgugbbgrbgrwwugbrubw +ruggggwgbubuuubbgbburuwwgbbugrwubbrubgbrgbggrgubrb +wrguwbuwbrrbbbwbwrbgrrubwggbuwrrrgugbbrwbrguugrbrwgbrgg +rrgrwbgurgbbrgrbgugwrgrruruuugrgrrbbrrrwb +uuggrwugruuggrurbwggwgrwbwrgrbbbgbwbubugwg +rwwwrwrrbgrrgrgrwrgururgwrwburubwgrguwbuwwrrugugbbrwb +bbgguuwwuwbbuuwgwgurrwrwgbbrgurwgbrrbwrwbrwrbuggbwwrwrbuw +wrwwbgwgwruwrubbwrrwurwubgrrwrggbbgbbbgwwbgwggrbbwbrbbgbg +wgggrbrbwuwgubrguubgrguwrwuuuwbwwubuuwgbgrgbruubb +uggrwrwwbguwurbbburrgwgwururgwrgruwbwuubugubrurbuubrwrbuurwb +wrugguwugrgbuuwrbugrubrggggwwrbuwuurbuwruwwuww +wugwrwbbbrbbbrggrwbuwrwgwwbbrbwwgbruwugwruggggbw +uguurbwgwbbuuguwrwguubuugwurbgwrrbgbrrguwuwug +uwwuubgrrwgwrbbrgwwwbwugbbggbuuuurgubgwugrbgurbbwug +gwuwgwrrwgrwbwggugrbrggubbuburbbbgugrbuwrurrwbrwgggr +wwgrugrwuguwbruwugguurguwrugubwubrbgwwbrwbrwgbwrgwrruwurbr +gwgburrgwuurwburubuuwwwwgbbwbggwwgwuugrgwrbwrrw +rbgwgbbruuwwugugugrubbuugggwgubrguwwgrwgrrrgwbggbuguwu +rwwrrbrggruuubgruburgwubrrguwbwwgrgbwggruggwg +burgwuwugwbbbgrwgrubguuwugrbrbguubwwwrbbrwbrrugubuwwguuurw +gburugwwrwrrugugbbubrwrburrugrubbrurbrwwgrbbww +wuubbrbubbrbuubuwuwwgbuubugbrrgrugwrgwgwwwwwwwuurb +wuwgrrgwbbgrurbrgrrurbbgwuggggbgwuurwggurrwb +grbbggbgrugwbuubruwrgbwrbbwuugwrrugwrggbrurbwrrurbrwb +uuubbgrbwrurbwbuggbbgrwuguuwubrwgbgrrwurubbrwgggwbggrwb +urgwrgbbuwwrbrrrbbrwgwugwwrgrugwbgbbgrwb +wgbrwggguwwruuwwggwwrwbbbugbruwugbbbuuuwwgurrrbwwbubbwgburwb +buggbbgbgbbwwwurwrwrwbruwgwbbgrruwwgruubgwwwuggur +rbgbwubgbbgrurwwguwubrwubbuuggrugurubwuwgrwgubgugwguugrgw +urbbgurbubwwgbbwburrrbgrbwwubggwugbrrbugwrbgubrb +wbrurrrbgrgbgbwwwrwurrwbuuwrwwgrburwrrbgruggubgrguwgbwur +uuururbwrrwgwbwwrwwgwgruwurrbugwrgburgwrwrbrbw +rrwrurbrgubuguwurwgururugbgrbgubrgrgggurggugurgrbbuwgw +rrwuwrugwwbbubbrbrwrbwbwubgubgwwgrbugwgrugbgb +grwgbggwwwgwrwgruggbbgwrgwubgwrwguwgrguuuuuwgbbubgguugg +rbuurugruurwuwgburwgwgugrwgwwgwwgbrrugguwruw +urubgguwggurwbgrwwbubguwggbbbgrugwgrbgbrwgwrrbrbbrguub +wrbrurgwbubbwbbrwbbrugwgbubrwbgrgwguwuugbgugrgbg +rwuruwurgugggrgrrrugrurgggrrubguurbububugugbwurwuwwug +uubwuwrwwgrbbwgrrgubwgguggbrrwuruuwuubgrwuggbgruggbrr +uurbbgrgbrgbbgrgrbwwugbrrubgubgurrbbrrrbubr +guguggbgggwbbwrwrbwbgggrurburgurgbbwwgruru +wbrrbbuurwruuuwugrgubwuuurbrwurwurbwwbwububwbbbrwb +ubbrwgggwrwbwwwrbgbrrrbrubwrgurgbbgbuuuuugbwgwgrwuwwbuu +bwrbggbgrbbgubbwrrrubgwburgrgrrruurwuuggbguwbwwurrwrwb +gwuguuwbruwuuggrbrrbuwurbggbbwguwwgwwbgrurrwb +rrggbbgurwbbbgurbgbggubgrruuwbrbwgbrguwubbggguwbgruwwrwb +uwugbwwwrbbruubwbrgbuuubbgrubururrbrrgwwbgrwgbrwruwrwb +bwurruruwuguwrbuuggbwbrubbrwuwurbgwwbrgurgwuggr +ruuuwugrrurbwrgrbgurbrwbrbubbwwuuwwuwwuugugbbgrbggwr +uugrgwgwwgrbrubbugbgbrguwbbwwgrubbbgbgbruwugrrwb +brbgbwwwbbuuugrwrugbwurrgggbwwuubwruuburrbrr +wrwrgwwrwrugrwrrurbuuwgurgbrgbrwwbwrggwbrbbuugrbbwugrwb +rugbbggbuggwgwwuruwrwbggwgburuubuwugbggbrbgubrwgr +ubrrwuwguwwrbgwbbbrrgrggrgrgwgbrugubuwwwwuwguuurwb +ruguguwuruubbwwwgwgrrrwrwwuuuruuuwuwgwubwwrwu +brggrwrbrwwwuwwbwrgwbwurbuwwrbrgrrugbwugrbguuwb +gwuugwuuuggrgurbbwggrubbwuurruuwrggrggurgrrwrrgbrb +ugwggbgbbrrwgwrbuggurrbuugbwrurbbuggubwbgwgwuwgwrrrwubuwurwb +wwuugrrggrbrrgwuuugbwbwrurrbuwwwubwrbrggubbubbgrrr +ggwuubgurubrurbwgrwwuggururbrgruwgruugugrbwgrbubrbrb +rwggguwwubburgwwuurrurrrgwgbrgbbbrruguwbwugguuurr +rrbwbrrwbuwwbwrrbbbwwubuwgurrguwugguwrbuwuubbwuwrbggbuu +grgrbggrburrbgwbwbuugugbburbrwrrrguuwbugggugrrrgrwrwb +buubrrggburbggwgwgrbgurwbwwwubbwbgbwwuwbwwrwb +wguuurrggwguurburgugugbrwrgbwrrwbgrugwuugbwgbbuubggrugbub +wbwgruuugggrrubbwrwwubugguguwwguubwurwgwwrbgubwrgbbubrwb +ruwrggugbbbbgurwggruuggwwggrwwrwbbbrwguuuuug +bggwwuwgwbuguwggrgurbwugbbbuurwgwuggubgrwbwwwbwgrrbuug +rrgwugbuwugubuuggbrwwguurwuwugwuuuubgrwrrwrbgrgwbuggwr +grguwrrurgbwbwrgwwwrggrwbwgbuwbbbwbggrbrwbbrwb +uubgbrgrwbbgwrbrwwgbgburbuurbubbguuwbgbuuwburbubggguug +gwbgwrbwwwubuwwrwbbwrrrgwuwbrubwbgggubugbwwgggburrbugrgu +bwgwguugggbrrbuggwggwgbrbugurbwwuuwwwugbbubbrwb +rwgwbgbwwuwrbgbgwbrwuwruuubbrbwwuruwbwrbrwrwrgru +wwrbwwwurggbgggugwuggubbbwgrrwrbwwuugwrbubwgrbgrrr +ubrubggrgguugburwgbbrwurbrburuuwwrrbrrwwbgwbgggwugurugwwrwb +gbggrubrgubgubbwwwwuwrbburrgrwbrgrwbrwguuwwuwrgguwrwb +bbwgbrwggwrbwugbgubugwwuwwggbgubwubgggwwrbgrwrwwgb +uubrbgbbguugrruurbrwbbuuuubbwwuruuuwbbgwbgrbwrrrgb +bbbwugurwrwurgbuuugrrruubrwrgwguwubrurgburbgrrwrr +gggwwgwubwwwrrbubuuuggrgrgburugbgbuurbgrugrwrgwgruu +burugbguwbuwgubugubbburrgrrwuruubbrbrwwbwrburubwubbb +wrwbwrbggggbgbruwwwubuurwbgwgrrgrwubwrrbbggrgbwbwbbbuwbbrwb +uuurggrbbwubuwbwbwrgrbbwgrgugbrruguuugrgrubb +buuugbwbbgwrgruuwrbwbgwbbrgwbrgrwruwwwgwruggrb +rgwrrguwuugbgrbubgbuburgrbuuwwgbbwgurrwwubrgwguw +ruuwwurgwurgbuwurruurbbbbugrubrrgwrgurgubbgbbwgugrwb +urrwrwgugrrbbrgggrgubwbrwwgbgururbwruguwwrgburg +rugrggruuubgguuwwwbgbgbbgugrwgurrruubrgburgrrwb +ubwwrugbguwrrrbwuwggrwrwrububurbgruwbgwrbbbgrrrgggwr +wuggwbgwbbbwugrbbwwubgrbwrgrgrrgwuuwgrwgwwurug +bgwwbbbwrrwugwgwwrruggrbwuwbwwgrwrgrrguwgrurwgurgggrrwb +guwrwubwrwwwgugguuwwurbgugbuwrrbwrguuwgbwbbgbgurrgwbbu +gwugguubwruguubuguguugbuuugrrwrrrurrbwgrbwgwugburuu +brwgwrbbgwurgrugggrrbbwruugrgburrwggwguwuuwrrbw +bwbugwurgbgurwwrugurgbbgbuurugggwugubrwb +bbbuuubggggggwrbrgbbwruwuuwugurbubgwgrrguugbwuggrubrwbwgr +wgrrrurugrbgwbgbbrrgurrgwrurrwwwbgrguuggrgurwww +gubbrbwurgwwbbggurwgbgrwrwbrugrwrburgrrugb +uubuubgguwwbrrwwwwubgwbbwbwwwwugguguwburgbrbbbg +ubgrwugugrruwuurrwguggwuwbrwbwrugruuuwrugwwuwrubuugbrwrrrwb +wrgwguugruurububuurwurrwuggrrubbrrrgugwuugwurgrg +bwubggubrrburbrbwggrurwrbwbgbbgwggubggbubrububrwb +urugwwbubbrrwwwrbrwuwbwurwgrurbwbrurbrwrgrruburwb +rruubgwwwgrwrggubgubwrbbgwgbguruwwgrgburgwrg +rgugrgrbbrgwbguwgguguwrrubgwwgwgwuwubwbwrggbwuuuwrrbwgwu +gwuwbwuwwbwwggbbgrgwugwrgugruuubgwguwwgbbrwb +bbwuguwwwuguuuuurrbbububurbwruuubugbgrbuwgrururwb +bbbugrrrbrgburgwuuruwrbwgwrgwgrugbrgububrbwwgrbrgbuwbgguu +bubwuuwwuwbggrwwubruwbubbwwgwrubuguwbuuwugwrbbugr +uwrgubbrrgguggubuuwrrrwrrurbuubrgbbbwgrwub +wbbguubbbbguwuwbwrgwwubwrurgwurbrrwurrbgrbbburw +rgbwugbubggbrbwgbuuubrwgbrruwggbbggbbuggwg +rgrugbgrwbwgwuwrbggrwuburrbguwguguuugwgubrgruwwbw +uuuruwuurbwubrwgwuuwbugrrwggbwwubbugwgubbrwgwwwugbwwrwb +brgbguwuwggbbwrbggggbrbubbwbrwbbgwuubbbbgwrgwgbbwu +uggrgrubuuuwruuurbuwwugbwwgwwguubuggubwwugrrwbggwrgubrbwrw +wbburbgbbrbbggrgrrurwwgurbubwuurwwgwbwrgbguuuwrubwwubuu +buwbgbrwgbubbrbrgwuwbgbrwburgbbrwgguwwbwgbwbgbww +gurwggwurgwbbubbgbgruggbrbubuwbruwwrwguggrbbbrggwgbrgbgu +wbwwwbbbwgruuuwubbrrgbbggwbrgwwbgurbbwgwgwgrbggwrugrugggbrwb +bbgrwgruggrwwurwwrggbruugbbrgwggrrugrwuuugbrrwb +wwbugbwuguwgbrwrwgrrbuwgwuwgwrbbbubwwgbrguwuw +ugwbgbwrrgbwrrrbrwwguggruwugwwurwrrbgwubbwrggugbruuw +bbbruuwuwwurrwbuwbuguuggurgbgbruruwurgbgbgrrwb +bggwgrggrrugwwbuwgbrbbgwbbuwwuwbrgbwbggwbbgggugwggrwbbur +uuurruuuuugrbuwwgrbwwuuwbruggggbgrbuuggbuuuwgrrb +gbgrgubggbgrgguuwbwbrwbggwurgbwwwbrubwgwrggrbwurggrwrrr +ggbrbrbguwguuugubruggbgwbbuwwrbuuugbuuwgww +wurrbururbgrbrgwggwggrgrgrgbgrrgbbwwgbrgwururwb +uubugrgbrubuggrggrbwbbbruwbrrwugugrurwbgwwwbubgrggr +rgwwbwgbwugugrwrrwubrwbgwuwuruggbguubbwbugururu +wbuwrbggrrwbgbrbwwwbbgwbwrrggubrubbwbubrgwrwburbgb +gbwuruuwuwwwbggurugrwgwubbgbwwwurgwbruwgbgrbwrgurwb +gwururwwugrrubbruwbuwrbgwrbruugbuuugggwbubwubb +wgrgrrgwwruugbrrrbwwrwrrgbguwwgwrbgwuuwbgwuwrugg +ugurwrbgrbubwbbgrwgrwrbgwbwuwubgrbuwwrubrggwuguwbgbu +ugrrburuwwrrwgrugbruwgwbbubrbuwbwwruuurgbuwwgwgbwwbuburwb +wurugurbrbubbbbburuubrbrrbwubguwggwubbrbrbrgurrbwwwuggwg +bwrburggbggbbgbuguwbgwwbbbubugwguwbbgbgwbg +gbwrbgbgbrugbbguruuwgurwwruggggbuburbgwwrwb +rubrgwubrrrrrwbwbrurbwwggrrburrugrrubwbbguwbbgrwwrbburrwbr +wgbuurbrrbgrugwgubuwbgurrwwuwgrbrgrbgwrwwbrururuuwrrrwb +grwuuggwugwgrbggggbwbgwububwrgwgburrugurbugurrrwrwrububrwb +bbggugurwurrgggrrbbrurubbwbuwbbwwbrwgrrrubrgur +gwwwugwuguubuuwgbgruruwguugrbbwgbbwwgrgrwwrrrrrbuwbbwburwb diff --git a/day19/example.txt b/day19/example.txt new file mode 100644 index 0000000..50f9d21 --- /dev/null +++ b/day19/example.txt @@ -0,0 +1,10 @@ +r, wr, b, g, bwu, rb, gb, br + +brwrr +bggr +gbbr +rrbgbr +ubwu +bwurrg +brgr +bbrgwb diff --git a/day19/go.mod b/day19/go.mod new file mode 100644 index 0000000..565d400 --- /dev/null +++ b/day19/go.mod @@ -0,0 +1,3 @@ +module stevenlr.com/aoc2024/day19 + +go 1.23.3 diff --git a/day19/main.go b/day19/main.go new file mode 100644 index 0000000..96dac55 --- /dev/null +++ b/day19/main.go @@ -0,0 +1,105 @@ +package main + +import ( + "bufio" + "fmt" + "os" + "strings" +) + +func main() { + patterns, targets := readData("example.txt") + fmt.Println(part1(patterns, targets), 6) + fmt.Println(part2(patterns, targets), 16) + + patterns, targets = readData("data.txt") + fmt.Println(part1(patterns, targets), 280) + fmt.Println(part2(patterns, targets)) +} + +func part1(patterns []string, targets []string) (okCount int) { + notFound := make(map[string]bool) + for _, target := range targets { + if doable(patterns, target, notFound) { + okCount++ + } + } + return +} + +func part2(patterns []string, targets []string) (okCount int) { + combis := make(map[string]int) + for _, target := range targets { + okCount += combinations(patterns, target, combis) + } + return +} + +func combinations(patterns []string, target string, combis map[string]int) (combiCount int) { + if combiCountCache, ok := combis[target]; ok { + return combiCountCache + } + + for _, p := range patterns { + if len(p) > len(target) { + continue + } + if target[:len(p)] != p { + continue + } + + if len(p) == len(target) { + if p == target { + combiCount++ + } + } else { + combiCount += combinations(patterns, target[len(p):], combis) + } + } + + combis[target] = combiCount + return +} + +func doable(patterns []string, target string, notFound map[string]bool) bool { + if len(target) == 0 { + return true + } + + if _, n := notFound[target]; n { + return false + } + + for _, p := range patterns { + if len(p) > len(target) { + continue + } + if target[:len(p)] != p { + continue + } + if doable(patterns, target[len(p):], notFound) { + return true + } + } + + notFound[target] = true + return false +} + +func readData(fileName string) (patterns []string, targets []string) { + fp, _ := os.Open(fileName) + scanner := bufio.NewScanner(fp) + + scanner.Scan() + patterns = strings.Split(scanner.Text(), ",") + for i, p := range patterns { + patterns[i] = strings.TrimSpace(p) + } + + scanner.Scan() + for scanner.Scan() { + targets = append(targets, strings.TrimSpace(scanner.Text())) + } + + return +} diff --git a/go.work b/go.work index 56588c9..812bf4d 100644 --- a/go.work +++ b/go.work @@ -11,6 +11,7 @@ use ( ./day16 ./day17 ./day18 + ./day19 ./day2 ./day3 ./day4 -- cgit