[ADD] Added day 19 solution

This commit is contained in:
Mika 2024-12-19 21:52:42 +01:00
parent 9bde8dea96
commit e09207059b
3 changed files with 517 additions and 0 deletions

402
19/input.txt Normal file
View file

@ -0,0 +1,402 @@
wubu, brr, uru, uw, gug, rgrur, ub, rrwg, wrw, uugg, wwb, gwrg, rgb, bbrbgw, guwb, rub, wgww, wgu, bwbu, bgubwb, gbuu, buwr, uub, wubgr, uwugbwb, gwwbbwrr, rbgbgr, gbuuww, bur, gubgbr, wgug, rrb, wbrugwrb, brb, gbu, rrwrbgrr, uburgr, bbrgrwg, rbbb, gbr, grgug, rr, wrbw, uugbgb, bbg, br, rubbbu, bbggubb, brwwr, rgwbrr, ubr, wgugg, grrburw, r, uuwrwug, gguw, ww, bbrb, bguw, uurr, bru, ru, bwubwrb, wur, wrbgru, bbug, gbbrw, rwbu, wrwrr, bgu, wrgbur, ubugg, wb, rguw, ubbrgbw, buwurgb, wrwruuu, rgwwu, wwrbw, uwwwubb, wg, wrgwrwur, gwg, wbw, wgrg, ruurruu, uwu, bwwbuuug, rbr, urgbg, gugu, gwgwbgur, gbg, gbwu, uur, ggwbb, grub, gwrrw, uuu, rwr, urwbu, uwwbrwgg, gbb, guwg, urguu, urwgug, grwuwu, rwb, rbwwbg, grbuwu, bwbbbb, rbgr, rwrrur, gur, rwruwg, uuwrw, wbb, uug, rrbr, wrbbb, ggwgg, wrrur, bub, ug, guubgw, gwubb, wub, rruw, uruwwww, rrugwb, urbu, wbbu, bggr, urgr, brww, bwg, rggwgg, urr, bbbgwbbw, bwrgw, ugb, gwr, uwugwgu, bbgrubb, wbr, brg, ggg, ububww, grw, grr, wrb, gbuubg, gbuuu, b, ubgw, gurrurg, urwwr, bggug, rrg, guwbwrw, urw, bwrurg, rubww, bb, bubur, bgrwu, bwb, uwr, bwgw, g, bwrbwgbb, bgwguw, guugg, wuggrru, ugbg, wuwgrrw, wrbrg, gb, u, gwgg, gbwrgbw, rgw, gwuwwg, ubgu, rgu, ggb, brurgw, rbrbgwr, guuu, bwwu, bug, bbrggg, bwuw, wbuwwbg, uburbgu, gub, www, rwu, wrgbwg, bwggrruw, ubgww, gbw, wwbrw, wrg, brw, brbg, wwuggg, uuubgr, bgru, bbb, wgr, wurrwubr, rur, rgugwbru, bbu, wbuw, rubuubgr, urug, uubr, bw, buu, rbw, ggwb, rrr, gwrbu, gu, gw, rwub, wrwug, uubg, rrbgr, bbbwr, wurggw, wgg, urbg, rrwuu, bwgb, ruw, gwrw, ggub, gwwrrb, bwgbw, rrw, gwb, rwbbb, rwwu, gggg, gbgugggw, brrgww, rgbbw, wgrguw, wrr, uwuw, bwbbgbgr, grb, buurbbrb, wgb, ugburb, ururw, ggrgbgw, rgr, gg, wggwb, bwrgu, wgw, wru, brwbu, wbrrg, gugr, uggw, bg, gubrguu, ubu, bww, rrbwrrwb, bgrbwww, bbw, bwrwrr, uuuug, bwrwb, bwggr, rggbw, bbgg, rw, ggbb, ggugwu, ggu, ruuuggu, ggw, bgwwb, rrggww, gurwgrg, rrruu, ubg, rrgw, wggu, ruu, bgwru, wrrgw, buww, ubb, buwgu, bbgr, uggb, rbb, bubg, grg, bwr, bwbwwb, ugubgb, rrwub, rgbr, wbbug, ruwr, ubgrgg, bbrgw, rwgwb, buwrw, bbwrw, rwgr, wwrwgr, urgrrw, brrbbug, bwu, wuw, rgg, gww, bbrwrb, wruur, bbubu, bbbb, bwbrb, guu, wuggw, wwuw, wbu, rrrg, bgr, wwbbgru, rgubuugu, rgrr, bbuurr, ruur, brgwr, bwgwb, rgrww, ugw, wrwr, guuw, rrgr, wbgb, wug, wbg, rggb, uww, rug, wrub, rguwb, wbrgr, brbwbgu, wruw, rb, gwuug, ubru, gbbbrbg, rbg, ubgb, burg, bbwbrwbu, uuww, wgbg, wrgrrr, gru, wr, rgwr, rww, uruwbrru, gwgu, uwb, wbwrgr, uu, ur, gurrrg, ugrguu, gwub, gwgw, bbr, ugg, wwbg, wwr, rwubbw, urg, gubr, uwbwr, buw, bgwgubu, wwu, wurgbw, wbrwb, grwub, urb, rubgu, rwwrrrr, rg, brbb, bgb, uwg, ugwbbbg, grrwwbb, gwrrggr, rubb, wbrguw, uwurbg, grrgb, ubw, wuwuw, rbbuwg, rwg, urbuub, gwu, bgg, wbug, wgwbb, uggwugg, bu, ugu, rguu, wgrbgw, brrggw, grrg, gbww, wwubu, gbubrb, bgw, uurgw, wwbu, wwg, ggbr, gbbrb, buurr, ugr, rrbrggu, rru, ggur, gbggwub, wrrbbgw, ruuguw
wguurwubgburbugwwuwrwwggrggubwrbwurrrrgbrbuggugurg
brbwwwbrbrwwwggwrbwurwggrrrgugbbruuuwrggugg
ubwwbbrburwugwrbuuugwwgrbrggwugbbwbubrwwrgbbw
wuurwurwgguurrbubrwurbbwuwubguuuwburwwuubrbbwwgr
bwwwgbuwugbuurwwwrwrwurugwbuguwrruuwbrgbgbuwwu
gbrrubwwwbwrguwwbrwwbbuurgwguurburuburgrwbgbwrruurwbg
wuuuwgrrwuubuuguwugurbggubwruuubggrruwuwbwgggr
wruwgwuugugwuguuburwrurrwugbbrgbgbbugwggbuwuwbrurugrw
brrrbwbuwbrgwgwuwgruuwguwubwuwwgurbubwurgwuuguwbbbrgrrgu
rgrbggrgrwbubuwgubbgbguugugbguuurwbuwwggwwugurg
gbuwrurgbgbrrrrwgrbruuruuwgrwbgbbrgwwgruuurwbbr
wuuwrbubwurrrrwbgggwurguurwwuuwrrbugrwbbgwurbuurwrrurrrwgub
guubbrbrrgbuwguwwrubgbbwgruuugwugggwrurwgubr
rbbubbbgbubbbbgggrgwbwrrgbbburwggrbuugrwbgbugrwgbgb
gbgwurubbwruruurrggubgwguwggwwgwwbwuwruwubwwgbbug
wbruggruuuubgbgrggwbgbgbgugggwbbgrbuurgwwbgruwwwwubu
uubrrwgrbrbgwbwuuwgugwbgwwwwggrgggbwgguubububgbr
wuubbbbuuurrbwrugburrubwrrrwgrwrruwwgguwbgb
uwrgrwwwwgbuwgbwbwwwwwbrugwgbruwwggguggubrubg
buurrgrugwwbwurbuubgrrbrugurrrwbggrrgwbrurrw
grugrburgugwbrurburguwggrgguwgrbwbuguubrubbwbwgguur
gburgbrgwugrwurwbugwgwgbrbrrrbuugrwgbgbbbrbwwgbb
wuuwrgwbwurugrwuwurrbuwbburwgbwgrbgrwuugrrwbgguubgrguuu
wgrgbuggubgburgggwubwbbgrgwruurrwwwwbrwgguru
wuuwwguubgrubuggwrbuggwrurgrurbwbbrwwbwruuwbwwg
gubgrrgggbwgrwrggrbbrwwwrrrguwuwbgurrurrbrurwuw
wuuwgruwwbwggwubuwrurbwurrbuurwgwrgggwggrwuggrbbwurrbrwwwgu
wuuurugrwgbrwrwgwuwwuwuwgbggwuwbwwgwwggubbuwgbrgg
bgrububrwrggubuwrwgbrrwuwbwuruggwgwgrrugrgrwrbwwgrgbuburbg
rurbugggrbwbugrrruwrbbuwrrguuwwburuuwuwbrb
bwuuwbbgwwrugbuwrwrwbwrrbrugwwwwuuuuuuurubwgururwwbggbwrgu
ubwgggbwrrbbrgbwurrwubrgbwuuuuuuwrrbbrwrbugbrgwr
wrrbbgrwuwgrrrbbrgrgbwruuwuggrbrugrrgrggrurrwbbwbbbwbgb
uwgbbugruwuurggbgubrruwrgwgurrrrgubwbbrrrbbwwuubrbbrbb
rbgubgrrwrrugrwrbwruwgwbrrgugbbwugbuwrwwugrggrrugw
bbwurgwggwbbgbubwgwubugrwuruguwbrbgbwurugrbgbggurgbuurrgwr
ubgruwrwubbbgbbuggwbgrrububrgwgrbwurwggbwwr
brruwbruwuwbwbrwgbguwurwrwrgwurbwgwbwwgubggru
ggggururgwgwwrgugbwuwguwgbugwggwrrbbwbuugggubuwrgg
bgwwrguururwwrwbugbbrwbrugrbwwbgbbbgwuggwbwurugr
gbrruugwwwrgugruuuggggwrbubbbrgbgbrggbwrbwb
ugwuubgrurwrrgrggrwgburbgbugrruguggbrgwbgrwbugruurgwu
bbbwgwwrgwggrugbruurbuwgwwrbuwbwbrwwgruwwrbuuu
rrbrbgrurugrbgbuwggwwggggugrgrbubrggwubbwrgr
gubgwwgwubgwwuubwbwrrwruwuuwgrguuuwbbbruggugrbbwwwrgwur
wuuwurbwbbugwrwbburrwbgrrbwbwwrwuugbruwwrrgbrgubrrwbwurwwb
wuubgwgwbrwugubgbbrrggugrgggwrrwrgbrubrrwrwururwbrrwrurrbwwr
wuuubguwrbbrbrugrgrwgbwgurbbgrwwwwbwbrbrrurruubbuuguwbrgb
uwwuwuguwugbwwbgubgruuburbrbrrbrrurwgbrurbrrg
wuuugwbwwruuubbbbwbuurgbwbugrurbgwugwrbwwggugrb
wguwrrubbbgbgrbrubrgurbwburrugbwwwbuggubbbw
gggwurguuwbwbgrgguwgwgurgggguwruwrgbrgrubbwgbbbruu
wuubrbbbuwrgrrgrggbbubuwgrrwgwguggugbgurbubgb
uuuwruuruwggrrbuuguurruwrgbgbrggruwwubbwbbuwruwubwgwguruw
wuuurwgburrggwrrruuwgubrwgruuuuuwrrggbuuuubuwwrwbbrrgrubgbb
ruuwwuuwbwbubgbwbwgwguuwbubbrguwguwwuwubwr
gbrwbwgwgurwbwugrrbuwwbgbbbwuwwururbbubbwwu
wuuwgwwbbrguwwrgwrrrwggwgubwrbgwgrrwgburruuwwbwububwwrg
rgbwwbgwwbbruuurguwwwbuwwubggwwguwuwrbgguu
wbbwwrrguwrbrbgwbwbrgbwuuwwbrwggggwgrwuwwrrwbbubbgbrb
wuurgrruwgwgwrwbugrrrggwbrgggrrbuurwubbgb
wuugbbrbrurubgwwugbrubburgwuburrruwgbwbbgguwwwgg
bwrugbggurrrbwrbwgubuwrgurgrgrgbubbgbwbrrwbrbgu
rrwbgbbrbbguwwwgbggrwuwbgurgurwuwbgrguwgbuuugwwrwwgr
wuubwbrugwrbgwbwgguubggbuuggwgubrgrurbbgu
wuuggugrrgugugwwwgrrbwbwrwgubbwbbbrrbbwb
bbbwwbururbuwbwwrwggrbbwwgruwwguwwrrrguubgbrr
gruugwbrwgubuwubugrurbwwugrgwbwrwgbwrwgruwr
wuububbwubrbuubbwrbrbrrrrbbbwbugbwwwwgwbbugwrgwbugbrurguugr
wuuuwurrgububrgrubguggwwwrrbuwbggwrwwrur
ugubrwwrbwruwrbwgbgrgbubgurgrggwrbruuwrgurggwurgubgguww
gurrgggwwurugggurbgwwbrwugggrgwrugbguggrwbugubuwwrug
wuububurgbrurwbbwgwbrrwuburbgrbbbwuuggwrwu
rugugwwrubbbgbuuburuuwrrwguwbugbwbbbgwbbww
wuurggrurwbwrubuwuubbbrrbggbbbrrbubrgwbugwgwurbb
wuuwgbuwwuuuurbuugbgugbugrubrrwugrguruwbrruwbbwgwrrububbgruw
uwggwuubbgburggruburuuwbrgrrguwwbbwgwrggwuurguugrwrb
wuubwbbgrruuburbgrrwwwrbwrwwbgrrbbgrwubrubgbwrurbbrgr
rwbburuugbrrwwgrggbrgugrwbrbwrggwwgburrgbwgwr
wuuwwwwbbbrwrbggrgwwurgrgbwuuwrgugwrbbbrruwbwuubg
bwuurgbwrgrurbubuurugwrbbugwgrwwwwuwgbbgugrbwrb
rgrgbbwwrgwbrbwubruwwbwbwruwwwbugbuugwurrrrwbgwuuwrbuu
wuubuuwgubrbrwwwurwubwububwbbbuuruwgurwwg
ugwbwubgurbrrgggrgrruwgwurwguwuwbubgrrbwwgwwbuu
wuugguwguwurruuwwrwrgubuugurwbwrrguwgrbuugrgbuuuubububu
bbrugugrwrwruuuubgbrbrggbwrrwgwwrrwgwbrbur
wuuuuugbgbbuurugwwbrwbrwguuguuugrrbgggbguuuurwrrurggbbuggrr
gbrwuwruuggwwuwwwwwbbwrbgbguugbbrwgugurrwwrwwbrbrrwrrru
bbgrubgggrgrbgbwwwruugurrubgrrrbbrrwbwugbgrbgbrw
wuurruururbwgggbruwgugruruwrggwgbwrrwurwgrgu
wuuwgwgguwwwurwrgrbgubwrwuubbgwububbruwwwugbu
gwrwbbrbwrrgubrbruugrwgbruwbubwbrgbwwurwrwbbuwbug
wuuwuuguwrwwbwuwrggbwuugbwggrruwwwrgwwwugu
ugwgbburburgbrugubrrwubgggrburwwgrwbgrurrbgb
wuurwwguwuwrguwgbggbbwwubugrrbruurbuwrgrubguwubgbubg
wuuwrrubwugrgggwwwrrrbwgggwuwbgrwwwwwgggrrrgrbguwwbrbwgubgrb
wuuuurrbwbrbruubgwgrbgwguwubbrubgwguuuburggrggbbbw
wggbgbuugwrbbuwuwwbuubguuurbrruwguwgbrbbbguggggbuuugwg
wuurwwrrgrugwrrurbrbburbguugrrwwurrwgbrbug
wuurbgggubguggwrrrruugwgbbrbbgrguwbuuruguwuwrbubugwgbrwgurb
wwbgurwrgwgrrbwrwubgbuurwbbrguruuurbggrrbubrugrrb
wuurwuwggwggguggggrbwbbgugugguwwguwbuwwgrurbuburbbr
gwruwguwrgbgubgbuuwwrbwgrgrbwuwuguggwwrbgbbwugwwwbrub
rrwbbwwrwbgrggrwrwwurbwwrbbgwwbuuwrurubbgubwwgrwru
urrbrgrbuugruggbwwwruggwugrwubbwrbggrrururwurrgu
uubrwgrgbwbuwugbgbrggbgubwgbguwgwbggbuwwgbwruugbruwugugw
uruurrwrgrrrrubrwrwbrbgugwrrgrwruuruurbguwugbguuwr
uubrgwbgrggrrbuuggugwbwuguwgbuwruuuugbrbrurrwrwuwr
bgrbbwuwuuwbuwgwgugbrwuuwuwwbgwruurwurwbbbbbbbgbrrwwrrbw
gwwwuuwrwuubbuuuwbrbggwwwrubgbuwbggwurwwgbrwuwwu
bwwwubbbwuguuwgwuuruggggugbgbwwwgbbrbwwgwbbgw
gubwgbwbubbgbgwwruwrbbwurburrbrwrugrugbrububgrwruwugwrbrb
ugugbbuurgbbuwwruwrrbwbggwwbuubwgwuggrbugrg
wggbguggwruuuggrgrurubbbrubwrbgubrrwrugrgbwbggwwuuwb
wuugubrbruruubrwrbugrgrgrurbwugbwuuwrgubwruubwwubrbbruug
bgrwrwgrgwwuurrgururgubuuwrbwrbgurgrbbgbbwugbbgrbgubrg
wuuwwbrgurbgwgbugwgguwbugrbwrbbgrwwbwuuwbgwbwbgg
wubwuugbgwbuugwbubrrwbrgggrwuwbwwruwbugbggrbrrb
bgrruurwwwbgguubugwbgrgbbwwugwbgbuggbbwrwb
brbuwwwuuurwgbbwwbwgurwwgwuwrbbbrgubwububwbuwu
wuurwrruggbuuuurrwwubwgugbbuggruburubrwwbrgbgbbg
uubwuuuwrgwurgbuubgrwuguugwgbbwgurwuuwrgguguu
brgbrrgbgwugbugguuggbguubbubwggurbburuwruubwruubguwgbruu
wuurbbbgggrrbwrgwwbggwbwbugbgugggwbbbwgwwugbbrwburguwwg
ggwbubgugwrgururburwwrrwgwugwwuwwrbbguubrgbbrurg
wuuwbwgggbrrugwrwuwrgwrurwwgrggugrrgrwrgbwwuwruurrwrgwu
ggrrwrgrbuuwgbrrbwbrrubuubgrgugggwrgwgwrruwuubbwurgwuwwrwr
buururgrugbrubrgubgggrgwgwgguuruguruggugubwb
wuuwbwwuwbrwggrgwwgbwuuuurbwgwwbbwrrrubbuwurwuguwgr
wrgrbggubgrrugbwgrwgbrrgwbbruwrwuwrggwgbwrwrggbbwrburg
wuubbggbugubwbrbrbugruwgrbrrwbggurgbrruurwbguugr
wuubuuwbugbugbbrgwgwggbbruwgrrrwrwuwwburwggrrgubbggrgbu
grwrwwurwrggwgwrbburwrugbbrrrgbrwrgrrwbbrbru
wuurruubwugbrrgubbwugrbggrgguwbbrwbwguubwugbgbwbwb
wuuurbbrgwggugbgbwwwbwugwbububgrugwwbguggwgruugbru
wuuwwbwwgrbwgrgrguwuguwbbuugugbrgrbubuugbrugrugwbgugbgrgg
rbwrbbgugrbwwruggubwuubbrgurggbwbwrbgwrggrurubbbwu
bgruwuguugggbggwbgbuwruwwwrbgubrgwrbwgwububggrbbwbbbbbgbw
rrbuwurrgbwbbubbrubbubbgrwrgbrrbwruwuuwwrgwrgwgbgu
ugrwuwrugrwwbwruwubgrbgrbwrgrrguubgbrwrwrgbgubgbuugrugwwbr
wuuwuuuuuwrbrbugggrwbwurbwbbuurrrwgbrwrbuub
wrwgrgwubgrgwwggrgwbbbwbrubururbwrbuwbwurrwuwbwggw
brbrbbgrgbgrwrbgrugrgwgguwubggrbgburbburub
ugubuuburuwwwgwbwwbwrbrrbbgwbgrwwuuugbburwubggrb
wgwbggwuwubgubbrggrbgggguruubrurwwbgugwggrw
rrgwrbrbwbggggrguuggwguwrrgwugrguuwuwgugwwbgrrgbwrgug
wuurugbuuwwbbuwwggrgruuurgwgrggbwubrwwrrwgrgu
rgbugrgbuburrbbbggbbwuuubruwwgrwuubgbwruwbbbgrrugguwuruur
gwurbugwrgrugwurbgrbbwwwrubuwuruwubwgggrubgbrbuggrguru
wuurgwububrgubbbbgugbwrwguuwuwugwuwrugwugrg
grgwwwgwrwwbwgbubugwgbugburuugwwggbugguuwrubu
wuurwbrbubrrwgwgwrwwgwguuuwubwuwwgrbguwbgggbgwrwrr
wuurggbgbbwbubrubwububwgruubbbburbrrbrbguwruurrguurwrg
wgugurbububuubrruugbwbgrbwwwuwwgbrgubburwbrwwugbg
ubuurgrggbbguwwgbgwbbrguwuuwuwuwbrwgruugubrwwbww
wuuuurwurrbbbuuwgwwrburubwuwugbrubgbwbwugrrrugrrbwwg
wuuggbguububurrgbrurwubwwgbguubburguuugwrgubgwgubbrgr
rguwurwwrugbuwbrrgwwbbwrrbrrgrwwrbwguubruu
rwrugwubuwbgwbrugwrggbgugbbwgbuggrgbgrbuwwuuggbwrub
wuuuwwurbwgwggbwbggrubrwgbbrgggbubgurrgbgubggbb
ubuggwgbbbgbguuwwbbwggrrrguggggggubbrurbbuggubb
rbwbuuwgbrrbruubwwgbgrbwrrgurwwubggbbgbwuubgwbgrrgb
gruugrgggbgrwgrurbrugrwguuuwwbgrwugbrbgruuwbbrwwur
uguwgbburuubrbrwurrguwbuuggburbwrgbwrurrbwwrggwrugbrbuwrb
ugrwuurbbrrgwgubwbrbguwbbbbwbrrwbbuggbrrrg
bwrgrbguwggurgrurrbwgbbbubuuwrrgwbuwwrrwgugrwggbrgr
rgggwrrrrbwgrrwururwurrbbbwgbgruubrbubgruwgbwrgbrrwr
wwbwggwbbgbgrgwuugwuugwburuggrrrwrrwbggbbbbuubg
uggwwrubugwwrbrggrurgrwrurwwgurrrbrguguwuggruwbrbbug
ugurugbbwrgrwrwuruurwgbbrwuwwrbgwbbbrrruuww
urrrurrugwwwwbrguwbrrgugrbbugbbrubwbgwugwbwbwgrbgbgwbrbbw
wgrugrrugbbwgrwwwbrwugwbggrwrbrbbwrbgururwrrwuuuggug
bgrrugwbgwbwwgggrrgrrugwbwruurwrburugbgrbbb
wuurbwbwwrrgurburuguwbwbwbgrruwbbwrwuwwrbgwbrgugbgubbgwru
rurgrrguwugbubrgurwbbrwugbgwgbubbgrbwrrrrbruuubuwwuwrrbb
buubwggbrgbbugwurggrwbbbgbbuwbrrgwwbbwuuwbbrwwgrwgggu
wuuwugrbgwwgggugbrwrwwuguwbwrrwgggugwbbbruwurw
wubwuuuggrgrugwrwuuwgbruugbwrgbggrbrubuubgrwguwrggbgw
wrbgwwwubbgrgbbbbgbbuuwwubwwwbbrwuuwbrgbbrwubb
wuubuuuwubrggggwgbwrbbrguruguguwugbwruwurgguubuwwbrw
wuubguwbgrbuurbrurwububruwwwgrwbgrgrwrwwbggubbrugbbwguugrg
rgrrbuuwwgrwbgurwbbugrbgguuurrbbuurggurguwbgbgggwr
wuuwgwbwwbgwgrwgbgbgbwuwurgwuubruwwrrbguruggwurggrgb
wggwrbruwwgbrwrrrbgbrrbwwugbbgbbwrrwgbwwbugugwgwuugw
wuuuuuurubggrubgubrbburrgwrbruggbgrrwgwgugugbwwuu
wbuwuguwbburugurbwggguwruuubguwrguwbwrrggrrbgrrwwgwugwr
bwwubguubrubgggwgwgwbbwrwurbrbgwbbrgwwrwwggwuw
bbbrrrrguburrgubwwrubwbwwgurbuugrrrwuruwuwugrbbuu
ububgwubgurwuubbgrgwbugrbgbwubbbwwgwbgrbrwrb
gbrggruuuwrurwbwrbbggwrgrruwgwubbgurwbbrwrgrgubwwbgruwur
bwgrbbwwgbgbggugrrrrwbrggwwururguuguurrgugww
wuubgbwurubrwrwburgbrwuwbbwgwurgbgwurgruwgbuurbwrb
rwbgbwbrggbggbwgrrwrrguwuubgrbgwbrwwbwbugwrg
wuuggrurrbggbububbuuugrgurggwubwgbburbgrgwbrbr
wuubbbwbrwburwgrugrguuuwrrguburwwrgrwwwgrbrrwbwu
wuuwwbwrggrrbugrwurrwubbguwbrwbbwbbwrugbguuubwubrrbrb
bgurwuwuwwuwrggwwbbbbwrwrgguwggruuubbruugbuwrbbwwg
wuugrruwuugrwbbrruwwguruwgggwgwbgurgwurgwbwwwrrwuruu
wuububruuugwrrbbwwbgbgwguurbwwbuwbrwguugrbguwrbggwbrububgrrg
wggrruugrurgwrbgrwbwuubbuuwrbrrrwrbgugwwbrwrbb
rubbrugurbubwbbgbbbuuuurrbgbwrbuggbgwwugguurrugg
rbbwgwuuwrgruwwbrwbburwrwrwrbbrrgwbgbrwbrrrwbbwgu
bwgrruubwgbbburbwbgwwrwwwggggrrwbbburbwggrgwwwugwbr
wuugrgbrgggurwubgurgbwbuubgbubuwwbbwubbwbwrgrwgggrb
wuuuwuwwgurrrbwbwwuwubrwgruwrbrgubwubbgwwb
wuubuwrugrrbuwwwbwwggrwbrwubgugrwbrgwbubrwbbwgbgwubbgwurr
wuuwgggbwrbgurbwubwrwbrurugbuwguuuwrruuguwu
urruwurgwwwbrbgrgubwuwrgggrbgbrububrugruubuwrrrwbgubb
grgrwbbbrgbrgbgrbbuwubwugrwgggwbubgwrwwwugggubgbwgbgbrggrw
rruwgrgrwggwrbgbrurrrrurwuguurwuwwubwguuwruwbrggwrrr
wuugruwruugrrbwrgwbbgubgugbwgububgwwrgwbbrurbwbbgbgrgwuugwr
bubwuwwrwwgwrruuburubrurgrgubrrrbwgrgbgrbgbgrrbwrrbw
brwgwrugwgrugubbwugbggbgwuuurubbrwwwwugurgrwbrggu
wuggbwrgbggggubrwrbrggrggggggwgguugubugrwguggru
ruubwbgwbuuwwgubgwgwuurbwrgbbwrbwrwwgrrbwrbgb
urgububwrrrubbbuwwuwbrwrruuggrbuguggwgurrgwgwggbu
wuurgrurrgrwrwurbbugubuwbuurgbrwruurbgbwgbuwrbwrwurwgurg
wgrrgwgurgubrrubrurbbgbbggubgwwbuurguguurbugbwuuggggugbbu
bgbuuggrwggrubguwugburgrbgugbbwwugbubbbrgwgruwruru
wugrrgwubwugggwrgggwrrrugububrrbwrrwbwguwrwgrugbrrw
bwbbwruuruguurubwwuwubbbbwbwrggbuuggrurwwguwwuurwubrwwwb
wuuwuguuruuugugubgwggwubgbrbuwwbrwgguuubrrr
wuugrbwrgwurrrbwgruwbrurwrbrggbwbuuwrwwuwrwbugbrr
wuuubrrwrwwubbgwuwwuwrbwggurwgguwrbrrbrbrubuuuwrburgguwu
rbbbuubrrrrurwururrgbgwgwgbrgbgbbrwurrggbgrggbrrwwbruggg
wuuggrbururwbrbbgrgbbbbwbrrrwwrwubuwbrbbwbrug
uuugubuwgwwgbrrubwuubuguguurwuwwuggrgbgrbwgubwwub
wwrbrggbgubwbgwuububruwruwbwubbgguwuggrrgbu
wuurbwuubuurbgwuuwgruuwuggurgwurbgbwuwrwugrgubbgbwrbuwuuw
brugwgwbbgwbwubrwubguwrbbgbwuwbwwbwwwwbgrrbgwgbrbuggwuggb
wwbuwgruuuggbbbbrwrrwbbrrggburbbbwuwrwgwuwubuwgu
uwburwgrugbguurwrubguwwugrbwrwgwuburgwbbgg
gwgrgrgwbgwwbgbrbburgwbrwburwugwgbwrwwwuwgrbw
wgggbuuugguwuwuguubbbgurwugwrwrururrrwrbuggrrbrwwbb
gwuburburrrrbwgrgwrurgwbuuguugwbuubrrbwrruuugruguubruugurb
gwwwbwrwrrruggbbwbwurwwrbgbbuwrwbrrgruubbubuu
ugwburrbruuuwububbbwwbburggururubwuggubgbbwr
wburwwruwbrbugrggwurrgruurrrubbbbrubggrrgurwrguwbguuw
wuubuuwgrgwwggrgugbgrwrwbuuwurbggwbggbbwgwgb
wrgbwrgwbrbgrwuuguwubbuwbrwubwwgbbgbbwwggrrrwrwbg
ubwwwbwbubwgubrubwbrurgrubgurbgwubwgggwguwg
wuuuuurrrrgbugrgrbrrgrbgubugwubbrgwwuuuuurwbrgrgu
wrwwubwwrwwbguubggrbgwuwgwgbugbwrubrubgrrgurbwbuwrbgubwrgu
ubuwubuugwrwbwggbbwbbrwuwugrwuubguububbugwwurbruurrgrrr
gubgruubuuwgrggrbrbwggbbwwuugrugbgggbguuwuw
rwbwwbwrrrbububwgrrbbbbrwrrgruwbubwugwwbgub
wbgurwgbuwbrgrrbuwggbgbrbugbbwbrwbubbgbburrubg
wuurbrwbwuubwuubwgwuguwwrggrrwgururugwrbubwrwwwrwrwbubb
wuugugbuurbbrbrrwwburrurugwggrgrubbubgbrgwwbbwwwrgrg
wuugwrbguwbwbbbgwbugrrwgbgbwrrgrgrwbbgubbubugguur
wrbwgwgbubbwwbgrgwuwggwguurwgrbuuwrrwrrgwbugubububwgw
wuuruuuruurgbbruruwgrwbrggrwwwwrrrggbrgbrugbgbuwrwbrggbgg
wgrbrrggwrugrgrgrubwgurgwwubwrrbuggwgbwrbwgu
ugubbguwgbwuuwugurgggwgbgubwbrwgugbwrrrwbugwrrwrbgrrbgurw
wuuuurwuurwuuggrrrrbgwugugubgrrwrbgrrurgbg
ggugrwrruwwugbgrbgbrrubbuurbbrbguggrgwwbgrgrburwuwwrg
bbburbbgwbwbrbgwbwuuruwubuugggrwggwbbbbugbgwrugrwubw
wuugrbbrgbwuruuwugbwgbruburwbrbwgbburbrbwubgburbrr
rbgbgggubwuwwrbgwuuruguguururuuggurbbrwgbguwwgwburgburbgu
rbggrbgbwuuwuubugugwrbugrwugwgwbgggurwurbu
gwugbgbrurubrburwuuurgbwrwgruubrbrbrrwwbbgwuwbru
brruwrggbbuuuuwbwwrbgruwgwbrurugrurwbbuugugubgb
bgruggggrwurggubwbbrurbrruurbrwwugrwbgbgwrwg
uwrurwubwgrbrruubbrbrwggrrrgbrrwwwbruggbubwbwuubwggu
wuubwwwubgrgggugubggwgbwgrgbrwbwbubbgwwb
urgrwrbgrbrwwugwurwwguwbbrbbwbbrbrbwggbwrurgruwwbbrubbgg
wuubrrrubuwgbbubrbuwrbubwuurwrgruuggwwwwuugrgugubbuwr
guwrwbwrgubuugugwbgbwuguwbgbgwuugrbbwgbrbrguwrgb
wuubbgbbrgwgubrgrgwrwwuggwbwbuuuwwuubrbwwbbbbbbrgbur
wuuurwwubrbrrwgbrbwrwubrguwgrgurbbuuuggugu
wuugbbrguuuubbuwgrbwbbwbrrrggrbbrwgurgbuwgguwugbburrgg
gururwrrwrbgbubgbrurbrrbwbguwuwrgrbbubbgwgwggwwrugwgrugb
ruwggbugwbrwrwuwrrubrbwgrwwwwbgrbgbwgwuwggbrgugubrgrgu
wuurugwuwruugruruurrgwrbrwwrwbwggrwbbrrwrbgwgbgrrbrrurgbbgb
wuuggggruuugbwuuwbwwubuwgwwwwggrbbuwgwrwwbrbbu
bgrrbbuurwbuuruuuwgbwururrbgwbwuwbbwgbugwgwr
wgwgbgrwuburrurrurrwrbbgwbwrrguggugwguwugwgubu
wrugwgwgrgbwrwgururrrrrburbrgrgbrwbwugwwrbrbgwgrbggbbbr
ugrurguubbubuuwguwgugbuubwuwgrwwubwggbgrbbug
wuubwgrgbwwbggguubwrrrwgrbgwrgwrgrrwubbbwbgwbrwgg
ruwwwururuwubgwwwwwrbgbuwuwrgbgrugggwgbgrbwrubbgwubru
wuuubgwugwrguububwrgwwrwwgrbgbrgbrwrwbrg
wuuwrrbwbwgwwubwuuwgbugwgubrugburbubwrrbrurr
ggubrwrrrrgurgggburggugbrguwbugbguwgbgwgbrrrb
wuuugbbuwwwuwrgbwwgwruubgbrrgururbrbuurwwrbgwwrrubru
wuuwurbgbwgguwrwgbbbrbbgbrrrgugwbruggbuu
wurwgwgwbuuuwggbrbgbgwuwbbbggbgguguwwgruwubbb
wwwrwbubgwgbwbguurwrbwuuuurwwrrrgbwgrgbwwurrrubbuubgbugw
rrbrubuurbwbwbbwgwbwrbuwggwwbubbwrgrruuwrrubwgwg
buwrrrwrrgbuubbguwbwwwrwguuuurbwbgurrrurbrrgbbrrrruu
gubbrgwgruuuguuggwbrrwrwwuubwrwrrbrwgrbrwwrruwbwwgggwr
rrurggbrrrwrugubwrwwrrwrugbrwbruuuuwrgbgbbubgwggwg
wrgwgwbgrbwgwwurwrbgrrgrruwrggrrurwugrbgurggwbgbgrbg
brbwwguubbbrrgubbguwwwgrrrbuuwbubbggwrbwwgrrruburwr
wuuuwugugwbwubugwwrgwrwurwuuugugbrbwrbwrguggrgwbbwubgwrwwrb
burgruubggwurguugguuwrgbgbrrbuwugbgbrrbbgggwu
wuurggubgwwbbrruwubgrrbgurwbuggwbuggrgrwbbbrbwgb
gwurbuubwgbwbgwwrrrbrwrgbgrbruwbwbuburwggbruggwgbwgubuub
grrubwrrwbgwgbuuwrbgguuurbgbgwruwurgguurrgbrwwurruugruw
wuubwbggbbwgrbrgguuurbuwwgrgwbgurgurrwgrubwbbrbg
wuurrrrurrbwrrwbwururbwggwubbwgbuwrwgwrrrrugwurbuu
ggugggwbubbgrgggurbugrwggwwguubbuburrubrrubrur
wurwuuurbburwrbwbgbwwbwrwrgbruurgbrruggrwwbrurbuwwrgbr
wuuwrbgwwbuuwwbgbrwggrgwbbgurgbbrwbuwbrburuwgwwr
gwubwwbuuugggbrgbwrrbrrwrrwubgwggrugubbwuuwbwwbuur
wuuwrgguuggbwgwuwugwuuwgrrrwwbwggrburbuwwrruuwwwwgw
wuuruwbwgbuwbuuggrubggwwwuuubwwrbgwurrrubuurgwbw
wuuwwbrrrrwwwwwrruruwgugbgwurubrugggwbgbruwrugwbbwgguguwbg
wuugbwgrbubrbwbgguruubrurbrgbgrwbrgwgrggrwbwgrugbguwrrwwgug
wuuwuwuwbrrwugwbuwguguwguwuggrgwggbrrwrwbwg
wuurggwrgggubgrurggrwbwbrggrrbrburugrbruwbuuuugbb
grwubgwuuuggugrwbugubwgwuugrwbwuubrbwubbgrurwrbuubbgrbg
wuuurgubrwbubgwwrwuwbbrrrrurgbugwrwgbwgrgbrwuguugubuubgurruu
wuwwgurugbururuuubwbbwbuwrugbwbuugrrbuwwggugu
wurwuuwugruwugruwbrbbwburugruuwgwrrgwurwrrwurgubuwugb
gbrwbggbgrrgugburrrgubrrgbruuuwugbbbwggrwbrbw
wuuwrgbbrbgwuubgwruuggrgruwubgwubgubbbubwwrrwwb
uggrgrbwuubbwuwbggbbbbgwbuubgugbgrgwwwrgwrwurwrwgrbuggg
ruugrguurgwgwrrbbrwbbruggrgwrgbuwugwuurrrggbgrrrggrrguwrru
uggugggurgwgbuuwrwuwgrguugwuugbwbrgbbgwubbrgwubwwurb
wuuruurggugrbruurrgurgrurrbbugurggwuwbuuww
wrwgbuwbrbbrwwbgbugwrbgwrrgrbguwbgbwwgurwgbwwbgubr
grwuuuurugbgubgubwbgrrbgwbgrwrbgbrbugguwgwguuugrgwbruurbgu
bggrwubrwgggbbrrbuugbrgwrwguuubwrbbwgwwbbuuuruw
wbugwgrrgwbbbubgguurubbgubwrrrwwbwrbwrurwgwggrbuguubrbg
wrubwwgrrbbugwbwwrbbgugbgubgruguguurrrururbbbugubb
guggwgbuuwgrwgugbguwwrrgugurrbuubuwbgwbrwbbubg
wuuwuguruwuugwgwwgggwgwwugrgugugwurgbgbw
grugrruubbugggugubuguwwbrgrbuurbuwrrrbgugbwugbgbwwb
uwggugwwubgrgbrwbrrguwbgrwbbruwurwbbbbuggrgbbbgwr
wrgwuwrwubugbgwurbrbbwbrrguwguugbgguwbuugwuubbrwbruuuurwu
gburubgwuwgggwuwwurwbbubuuwuuubbbuwgbugggwrb
uwuguwgubwrwuuuggbugwgburbwwbuwwggwwuwburrgurwbggubbg
rguguwbgrgrbrrwurrubrbrwggbwbuwrbbwwbwgwgwrbugwbuuwwruwrww
rubrruwbwubburgbrrwguwbguruuugbgbwbbbwrrgrbbguwuwuru
wuugguwuugrwwbbwurbwwurgwugbugrgrgwbbbuwguwbgbwwbw
wuuwrwgburuwurgbrubggrbgugbuwubrggguurrrrbbwrrruuwbgrb
uubbgggbrbwwrbguuwuurrburbrbrrgrbrbbugugruwbrugwrbr
rgguurgggrwbgruwwubugrrbwgwrguwbrwrbguwwgru
gburgururugwwrbrwguuguwubuwgbwbguggwuwwgwgurrrrgggubwww
bgwwbbugwrbguubbbgbbwrbwgrwgubgubrbgwgbbgggbw
wuubgbrwguurwbrwguwurwbubgwrgrrrgwggrwwggbrgr
wuubruuwbgwwwwuwuuwwgrbggruwrrrbrubuubbrw
grrgwwrrrurgguwbgwwgrwuubrgggwwuwbrwuruggugbuwubbg
bgrwgwbguggubwwgbgggwrwbguurgrguggrbrbubwrr
wuugrrwbguwgwwuuurgwubbububbrbwbbbbrwwbgguwgbguubwwuwgrwbwub
wuuuggbbgubggwruwwrbbubrbbrbrguwbgwruwwwugrwgwuuwubwbwrbwrb
wuubrburgrggrwgwwggbrwbwrbwgbbgbrbwwwuubbwrbb
wuggwubwgrbwuruguwbgwuburbguruwburwggrwbbbubwgg
bbwuwwbrrruwwrbbrbbwwuubuwgurwrgwwbgwwgguwguwug
wuuugbwurwugwbgbwurbubbruwbwgrwwbgugwwuwwrgurwgbugrw
rbbuwwrguurgbrgbbrwrwuubrwrbwrgrwbwwuurbur
ubgrbgggwrbguuubgrwwgwwrrwguuuggwurbgwruwggrugbuggwrg
bgrwbubrwuugugbrubugbgwuubbrgbwwubguburwuwgwggug
uubwwuurrubwwwbgwrubrurwgbubrrbbwguwuugrwu
guurubggubbubbrbwbbugbrruggwbburwrbwrruwbrwrbrgggrrrwu
bruwrburwwgurwbgrwrrgrrggwuwbugwuubgwgrbrrrrgurguwgugrwu
rgugruugubwwguubbwgubrwgrubwggrruwubwbubwrrrbrgubbb
wuuruwurwwbwwbrrguwrrbbgbbwgbgggwwbbbwwguubwwwwwwg
ruwwwuwuwrwubwrrwurrbbwbggbrgurrwuurwubgrgwgugu
gbwwgwguwgwwrugwubwuuwwrgugbgbrgwbuuggrbwgbwbbubgruwbbwr
bgbbwgrgbubwrbbrurwbuwgwbguwubgwuuubgbwgwruurgw
wuugubgwruwruwrbgwbwugrugbbbbrwbrbbbggbuurgwruwrwbgwggrb
wggrrwwugrbbwubugruwrbguubuuuugubruuwrbuubbbwwrrwb
ruwbbrwrrwruwwgrgubguubwwbwuwgrrugurwwbuubwbbwbgwgrwuwr
uwrbrruwwbrurbrrwrugugugbrgruwuuururgwuguuugwbwwugugrgrw
wuubuwwuwgwubwugwgwwwgbrgubrgrgwubbrwwuurbr
wuuwuuwwuubbwbugwbugrubwrrugrwuwggrggguugrgw
ugbwwwrgbburwugubbbbggbgbwubwgbrbwrwwwubugwub
wuuggggrbbuwgrbwbubwuugbwurbuubbubwrbbrwgwbgggwgrrrgbubuwgg
wuububwbbrwuurgrwrgbggggbgwrruwbuwwrbwbguuubbwugr
uggwbgwwrgwgwbgguuguggbrurbbwbbgbuggrwwbrgbw
wuubbrrbgubwwwgbgbguwwgbwuubwuuwbuwuugwrbbuurwg
bguuugggwggugubrwbrbrbugwgwgwbgurwrubguwrrru
grrwrwbgrwwbuwbbrubguuugwbwugbbbbrubwubbruugrwrggrwwwwrrr
grbgbbbgbgbwburggwgrububwwbwuruubrbguugrgwwbrwwwrwr
rbrbrggrgbrbggbgwbrwguwrbrgwrgwwguwwwurwbbbbbbbu
wuurgburuwurbbubwrgrgbrggwggrwubwgrbwgbruruubwwbuuugbggbru
wuugbugbwrggwgwwrbrubburgruugggurrrrwrbrbrrwrurrwbwwbugrrgbb
bububggwuwugbugbwuguwuuuuurgrgurwrbbwwubguwuggwgbbgwwu
guruurwbuurbgwwrugrbruurubwwrrwrwbwgbbgbrrruubgbwrrwug
rbgwbuurwugrugubuwwbwubwbwgrgruwwbrbbbrbwgrgr
rgruurubgwrwbwbgugggbbbbgrrgwbbrgbugwgbwgggrbgbuu
wuugbrruwbbrrgwbbrwrwgwgugrbbgwgbbwrbbrbbwubbbwrurur
ggugggbgwugggrgurbuwuuggubwuuwbgbgbbgrbbgbrwg
buuwggugbrgwrbbwrrbguguggrrgrgggwrgrwwrrgugbwbggu
wuwgwbugbwrbrgbwwwuwrbbwgwbwbgggguuggbbwrwwwbbggwwrwwb
wuuurugbuugwbbbwurrbbbuwwurrwrruuurbrwurrwubrrb
rwruurbwbbgbgrbrwggrwrwuwwugrurrrrurrgwburrggurrwurrguwg
wuurbwwbbrgrurrggbbwwgurruwgbuwuuwugbrbuu
bgrurgwurwwuuuububbgrrgubrurburrwwubwrwwrgbrrgbrugwrguurw
guwrrrugwbgrbrgbuguwruuugwwgwwbbuuuwbrubgwbwwwrwru
wuuwgburubwwrggbbruwrurrrggwrbbbgwbbwgggwrbwgwrbwrwgg
gwuburuwbrrurbgbbrbubrbwgguggurwbbuuurwbbrubrubwwbubgb
gruubgguburgrgububbwwbwgwrrgwgbbgrubbubwrwbrw
uugguwburggbugwrguubuuwggbwggburbwurgwbwbwrbwgbburuwub
wugwuuguwwwrubruwrbwgbbwwgurwrrgbwrbubwburuuwrubuuurrbgggguu
wuubwwwbrrgrwrggbwgruwbuwbggbbbuwbgbwuuruwbgwguwrugbbubw
rbbububbwurgwrugbggbbguwbgbgwgurbbugugrwubrguurgwwwbgw
bbuurrurgwbwbgwubrbgbgwbgurbubgwrggugwwbwrburbbuwwgburg

105
19/main.go Normal file
View file

@ -0,0 +1,105 @@
package main
import (
"bufio"
"fmt"
"os"
"strings"
"time"
)
const FILE_PATH = "./input.txt"
//const FILE_PATH = "./sample.txt"
func LoadInput(filename string) ([]string, error) {
file, err := os.Open(filename)
if err != nil {
return nil, err
}
defer file.Close()
var lines []string
scanner := bufio.NewScanner(file)
for scanner.Scan() {
lines = append(lines, scanner.Text())
}
if err := scanner.Err(); err != nil {
return nil, err
}
return lines, nil
}
type Puzzle struct {
poss []string
lines []string
}
type structuredInput = Puzzle
func TransformInput(lines []string) structuredInput {
return Puzzle{strings.Split(lines[0], ", "), lines[2:]}
}
func Part1(input structuredInput) int {
var result = 0
var poss []string
var found bool
var work string
for i, line := range input.lines {
fmt.Println(i)
poss = []string{line}
found = false
for !found && len(poss) > 0 {
work = poss[0]
poss = poss[1:]
for j := 0; j < len(input.poss); j++ {
if len(input.poss[j]) <= len(work) {
if work[:len(input.poss[j])] == input.poss[j] {
poss = append(poss, work[len(input.poss[j]):])
if len(work[len(input.poss[j]):]) == 0 {
found = true
break
}
}
}
}
}
if found {
result += 1
}
}
return result
}
func Part2(input structuredInput) int {
var result = 0
return result
}
func main() {
var start time.Time
var elapsed time.Duration = 0
input, err := LoadInput(FILE_PATH)
if err != nil {
fmt.Println("Error loading input:", err)
return
}
structuredInput := TransformInput(input)
fmt.Println("Structured Input:", structuredInput)
start = time.Now()
fmt.Println("Solution Part 1: ", Part1(structuredInput))
elapsed = time.Since(start)
fmt.Printf("Part 1 took %s\n", elapsed)
start = time.Now()
fmt.Println("Solution Part 2: ", Part2(structuredInput))
elapsed = time.Since(start)
fmt.Printf("Part 2 took %s\n", elapsed)
}

10
19/sample.txt Normal file
View file

@ -0,0 +1,10 @@
r, wr, b, g, bwu, rb, gb, br
brwrr
bggr
gbbr
rrbgbr
ubwu
bwurrg
brgr
bbrgwb