diff --git a/2024/day04.go b/2024/day04.go new file mode 100644 index 0000000..fa801b0 --- /dev/null +++ b/2024/day04.go @@ -0,0 +1,13 @@ +package adventoc2024 + +import "io" + +type Day4 struct{} + +func (d Day4) Part1(r io.Reader) string { + return "" +} + +func (d Day4) Part2(r io.Reader) string { + return "" +} diff --git a/2024/inputs/04.txt b/2024/inputs/04.txt new file mode 100644 index 0000000..525cf32 --- /dev/null +++ b/2024/inputs/04.txt @@ -0,0 +1,140 @@ +XXAMXSSMSSXMAXMSXXMAMMMXXXXSAMXMSMSMXSAMXMSMSXSXSSMSMXXSXSXSXSAXXMASASMSMXAASXXMAXXXXXXMXXAMSAMXSMSMMSXXMASMMSMMMMMMXMAXSXMMSXXAMXXXMMMMSAMX +SSMMXMAAAXMMSSMMMMMAAMSMAAAMXMAXMAAAMSAMXXAASAMAXAASXMASXMASAMAMSSMXASAAXSAMXMAXMMSSMMMSMSMAAAAAXMXAAXXXXAXMASAAAAAAAXSXMAXAAAXMSAMXMAMXMXAM +XAAMMSMMMSMAAAXMAXMASMAXSAMXASASMSMSMSAMXSMXMMMAMMMMAMXMASAMAMAMMAMMMMMMMAXXASMMAAAAAAAAAAXMSMMMSMAMMSMMMXSMASXSSSSSSSMASMMMSSXXAMAMSASXMSSS +SSMMAAMAAMMMMSMSXSAAXXMMXMAXMXMMAMAMMMMXXASXAMSMSMXSXMMSAMASXMAMSAMXSAXMAMMMXAAXMMSXXMXASXXXXMAMAXXAAAAAAAXMXSAXAMAMXAMAMAAXMAMXAMAXMASXAAAS +XMASXSSSSXAMSMAMASMXSMXMASMSSSMMAMAMMMMXMAMXMMAAAAMMAXAMMXAMXXSAMXMAMMSXMXASMSSXSXXMMSAXAMXMMSMSMMSMSSSMMSSMMMXMMMSSSMMMSMSXMAXSXMXSMAMMMMSM +ASXMXXAXXXMSAMSMASXMMXAXXMAAAAAMSSSMAAMSMAMASXMSMSASAMXSASAMXMMMSMMASMSASMMSAXXMMAXAASXMAAAMAMXAAMSXXAAXXXAMSXMXXAAXAASXAAXXMAMMSAMXMAXASMMM +XMMSSMMMSXXSASXMASAMAASMMMMMSMMMMAMSXMXAXAMMSAAXAXMAMSAMMAXXAXAMAMSASMSAMMSMXMAAMSMMMMXAAXMSSSSMSMSMMMMSXSAMAASAMXXXXMMSMSMMMMXMAXAXSMSMXAAA +SXASAAXAMMMXXMXMAMMMMMXAMXXXMMXSMAMAMSMMMSMXSMMMMMSMSMXSMMMSXXXXAMMAXAMAMSAAXSXSAXASXMSSXSXAAXAAMAXAAAXSASAMXXMASMMXAAAXXAAAXMASXMMMSXAASMMM +AMSSMMMXXAAMMXXMASXMXXSAMSSMSSXASMSSMSASAXMMXAAXXAMXAMXXAXAMXMSSMSMSMSMSXMMMMXAAASXMAAAAASMMSMMMMAMSSSSMAMAMAXMXMAASMMMSSSSMMSAXAAXAXXAMXAAA +MSMSXXAASMSMMAMMAMAXAAMAMAAAAMMAMXMAASAMASXMASMXMASMMSASMMSXAXMASAAAAXXAXSXMSMXMXMASMMMMMMAXXXXAMAMMAMXMMMMMASXMMMMMAAAAMAMXMMASMXMSSMSXSSMM +XAAMXMAMAAAASASMMSAMXSSSMMMMASAMXSSMMMAMAMMSMAMXMAXMXMAAXAMXSXSSSXSMSMSMAAMXAAMXMSASMXAXXXXMAMMXSXSXSAMXMASMAMAAMMMMXMMSMMMXXMMMMAAAAXAAMMXS +SMSMAASMSSSMSASAMAMXAMXXAXXSAMXSAAXAASAMXMAXXAMSMSMAXMSMMAXAMMSAMAXXAAAXSMMMMXMAAMAXXXMXSMMAMASAXAMXMASXSMSMMSXMMASXXMXMAMMSMSMXSXMASMMSMAAM +XMAXAXAMXAAAMAMMMXXMASMSXMMAXXAMXSSSMSMSSMASMSSXAXAMXMAXXAMSXMXAMXMSMSMMMXMASASASMSMSMAASAMMSASXSSMMSAMMAMXAMSAMSXMAMSAMXSAAAAAMAAXXAXXAMMSS +MSMSXSSMMSMMMMMXAXSSXMASMMSSMMXXMAAAAXAAXMAXAXAMXMSSXSASMXSAAMSSMSAAMAMXMASASASXXAAASMSMSAMMMASAMMAXMASMSMMSMMAMMAXAXSXMMAXMSMSASMMSMMSASAAM +XAASAMXAAXXXMAXMMSXAAXAXAAAAASASAMSMMMMMSXMMSMMXAAXXXMASMXMXSMAAASMMMMXASAMXSMMMMXMSMAMMXAMXMMMMMMSMMASAAXAAASXMSSMMMMAMAMXXXXXXMXAXAAXAMMSS +SMSMMMSMMSXSMMXAMMXMASMSMMSSMMMAAXAMAAXASMSAAAXSSSSMMSAMXMAAMMSMXMASASMMSASAMASXSXSXMMMSSXMASAMASXMASAMMMMSSMMAMXMAXMMSMSXAMMMMAMMSSMMSSXAAX +AXAXXXXAXMASASMSMSSXMAXAXAAAXAXXXMMSXXXXMAMAMMMXAAAMMAXMSAMSSMXXXSXMASAXMAMMSMSAMXMXXMAMAMSSSXXAMAMXMASAMAAXAXSMAMSSSMAXMAXXSAAASAMAAXMXMMSS +MMMSSSSSMMXMASAMXAXMMSXMMMXSSMMSAXXMXSMMMSMSSSXSMXMMMXXMXSMAAMXMMMMMXMMMMMMAAAMMMAMXSMSSMASAMXMSSMMXASAMMMSSSMMSMSAAASMMXSXASMSXMASMSMSXMAXM +XAXXAAAMXXXMAMAMSSXSMMASASMXAAASMMSMAXMASAAAAAAAAASAMASXXMMSMMAMXASAXXXXXSMSMSSMMASAAMAMXSMAMMXMAMMMXXMXAMXAAAMAMMMSMMXMAMMXMAMASAMXMAXMMXSX +SSSMMMMMMAXXXSXMXAMSASAMAMASMMXSXAXMSMXSXSXMSMMMMMSASMMMAXAMXMXSAAMAXSMSAXAXSAMXMAMMSMMAMXXAMAMXMAMAMXXSMSMSMSMAMMAMXSAMMSMSMAMMMXMAMAMMSAMX +XMAASXXAAMSMMMMSMMMSAMAMAMMXASAMXSMMMMMMXMXXAAAXXAXAMAASXMXSAMASXSMMMXAAMMMMMMSSMXSMAAXSMSSSSXSAMMMSMMMAAAAMXXMSMMSSMSASAAMXMASXMAMXSAXAAASM +MSSMAASXSMAAAMAXAXAMXMASASXSXMAXMAXAAAAMAMSSSSMSMSSSXXMMMAXXXMASAMAXMMSMSAXAXMAMXAXXXMMXAAAXAASMSMAAAMAMMMSMXXXXAAAAAMMMXSSXSASASMSXMMMSMXMX +AAAXMXMAAXSSMSAXSMMSSXMMAMAAAXSMMSSSSSSMAMAAMXAAAMMMSSSMMSMSMMXSMSSMMAMXSMSMSMAXSSSMXSAMMMSMMMMAAMSSSMASAMAAXMMSMMSSMMXASMMMMXSXMASMAAAAMSMS +SSMMXXMSMMXMAMMMMAAAXASMSMSXMMASXAAXAMMMSSMSMMSMXMAAAXAAAXAXAAAXXAMAMMSAMASAMXSMMAAAAMMXSAMAMAMSMMMAMMAXAMAMSAAAAMAAASMXSMAAMAMAMXSSSMMSAAAA +XAXASAMASAAMXMMAXMMSSXMAXAXAMSXMMMSMSMAAXMAAXXMXMXMMSSSMMMMMSMSSMSSSMAMAMXMXMAXAMXMMMSMASAMXMXXAMAMAMMMXMMSXMMSSMMMSXMASMXSSSXMAMXMXMAMMMXMM +SSMSMMMAMMXSXSMMSASAMXMXMAMXMSAMXXXAXMMMSMSMSMSASAAMAAAXSAMAAAAXMAAAMXSAMASMMXSAMMSSXXMASXMSXMMMSASXSMSAAMXAXMMMMAXXAXSMMMMMAMSMSAMMAAXMMSMX +XMMMSXMSMSXSASAAXMMSMSMAMSXMASAMSMMMMAMSMMAAXASASMSMMSMMSXSXMMMMMMSMMAMXMASASASAMAAMMMMMSMMMASAMSAMXMASMSMMMMSAMSMMMMSMSAAAMAMAAXAXASXSAAAXX +MXAMXXXXAXAMAMMMSMAAXAAXSAAXASXMAAAMSMMAAMMMMMMXMAMAAAMXSAMMXAMXSXXXMXXAXASAMASMMMSXMAXXXAASAMXXXSSXMMMAXXMSAMMMAAAAMAASMSSSSSSSSMMMMASMSMSM +ASASXMSMMMMMAMAAAMSSSSSMMXSMASASXSMMAXSSXMAMXSASMMMSSXSAMAMASMSXMASMMMSMSMMAMXMAASXMSMSMSSMMXXXAAXMASMMMMAXMMMMSXSMSMMXMAMXAAAXMAXAXMAMXMXMA +MASMAAAAXAAMAXSSMMAAMXAXXAXMMMXAMMMMMMAMXSXSAMXSAAAAXXMASAMXSMAAMAMAAMAAXMASXAMMMSMXAAAXAMXXSMSMSMSAMAASMSMSSSXSAMAXXSAMAMMMMMMSMSMSMXSASAMS +XMAMMSSSMMSSSMMAXMASMMSMMXSAAMMSAMSASXASXMMMXMAMXMSSMXMAAXSXMMSSMAMSXSMMSMMXSMSSMXMSMSMSMSMXMAXXAAMMMSMMAAAAXSAMAMAMASASAMXXMMAMXAAMAMMMXAMM +MXAXMXMXMMAMXASAMXMAMAXXMAXXMMAMMASASMSMMXSASMXSAMXMAMSXMMSAMXAMMAXMAXXAAAMAXXAAXXMMAAMAMAXAMSMMMSMMMXAMSMMMAMMMSMMMXMAMXMMSAMAXMMMMAMXMSMMM +SMSMMAMASMMMSMMXAXSAMXSMSMSSSMSSSMMASXMASAMASAASXMAMMMASXASAMMASMSAXMASMXSMMMMSSMSAMMMSASXSASAAAAMASAMAMXAAXXAMAMASXSMSMXMAAMSSXSAMSXMXMAXSA +XXXAXAMAMASAMASXSMMXSAMAXAAAAAAAXXSAMASXMXSAMMMSASXSASMXMMSXMXXXAXMXMMXAAMASXAAAAAMMAASMSMAMXXXMXSAMXSMSSXMSMXMASXMAMAMMXMASXMXXSAMXAMXSMSAA +MSSSMAMXSXMASAMXAAXAXAMMMMMSMMMXMXMAMXMXXMXMXXXSAMASAMXXMAMAMXMMMMXXMMMMMXAMMXSMMMXSMXMAMAAMMSSMXMASXSAAAXSAMXSASXMAMAMMASAMXAMMSAMSSMMXXAMM +XMAMSAMXAXSAMXXSSMMASXMSSSXXMXMASMSMMAMSMMASMMMMXMMMMMMAMASAMASAXMAMAAMXSMAXAAMXSXASMMMXMMASAASAMXSMAMMMMMSAMAMASXSASXMSASXMMXMASAMXXMAXAMXS +AMAMSMSSXMMMSSXAAXXXXAXAAXASMSMAMAAXSXMAAMASAAXMXXSASASASASMSASMSXASXXMASXMMMXSAAMASAASMSSXMMXXXAXXMMMXAXASMMAMXMASXMMXMAXAXSXMXSXMXSSSSXXAM +ASXMXXMMXMASAXMSMMSMSMMMSMMMAXMASMMXMASMSMASXMMSAAXASAMASASAMXMAMMMXXAMXSASMMAMAMMXMXMSAMXMSMMSSSSMMAMSMMAMASXXXSXMMSSXMSSSMSXMASAMAMMXAAMXS +MMMAMXXMAXMMAXXMXMXAAXAMAXXMMMSMSAXAXMMAMMXMMSAMMSMMMAMAMMSXXXMASAMMSXMXXMMAMXSXXMASXMMMMAAMAAXAAAXSAXAAXASMMMMXXAAAAXASAAAMXAMAXXMASXMMXSAM +MSAMXSXXXSSSXSMMXMAMMMMXMXMASAAXMASMSXAMXAAXXMMSAMXXSXMXMASAAXSASASXXAMSMXSXMMSAMSAXAXAASASXMMSMSMMSXSMSMASAAASMMXMMSSXMMSMMSMMMSMMAMAAXAMAS +XMAXASMSMAAMAMAMAMMASAMXSASMMSSSMAAAMXMXMSXXMAXMASMMMXMSXMMSMAMAXXMXSASAAMMASAMAMMMXAMSMSAMAMXXMAXXMXSAAMXMMSMAAMSSMAMAMAXAMMMSAAAMSSSMMMSMM +SMSMAXAAAMXMASAMAXXAMASASXSAAAMAXSMSMAASAMAXSAMMXMAAXAMXMSAMXXMSMXXMAMMXXASAMASXMASXMMMMMXSAMAXXMSAXAMSMMAXMXMMSMAAMMMAMMMAMAAMMMSMAAAAXAAMA +SAMMSMSMSXXSMSASMSMSSMMMSAXMMMSAMXXAXAMSAMAMSASXASXMXAXAAMASXMAAAXSSMSSSMXMMSAMAMASAAAXAMASAMASMXSAMXMAMXMMMMSSMMSSMSMSSXSAMMXSXAMMMSMXMASXX +MAMAAAASMMAMASAMXMAXAAXXMMMSSXMMSMSMASXMAMMMMASMXMASMSSSMXAMAMSMAMAAMAAAXMAXMXSMMASXMMSXMASAXAXXXMSXMSMSASASAXAAMMAAAAXAMMXMMAXMMSAAMMSMSAMX +MXMMMSMMMMAMMMXMAXXSXMSSMXAAAXXXAAMXXMASXMMAMMMMSSMMAMAMSMMSXMAMMMSSMMSMMXXMSMSMMXSXXMAMMMSMMMSMSAAXMAASASAMSSSMMMMMMXMAMMSSMMMSASMMMMMXMAAM +MASXMXXXXSASXMXSXSXSAAAASMMSMMASMSMMSSXMMXSMXSAMXASMSMASAMXAMSMSXAAAAAAXSSMMAAMASXXAXSAMXMXAMXAAMXMMSAMMMMMMAXAXAASXSXSXMMAAAXASASXSAMMAMXMS +SASAMAMSMAAMMMMMXXAMXMSSMMXAMXXXAXMXAXASAMAMAMSMSAMXXSXMASXMMAAMMMMSMMSAAXASMMMMMAMMXMXSASXSMSMSMXXAMXSASAMMXXMXMMSAMMAMXMSSMMXMAMASAMSASXSX +MASMMASASMXMAAAXMMSAMXXMASXMMSAMXMXMASMMSAAMMSMXAXSAMXXSAMAXSMMMAAAXAMXMMSXMASMXSAMSAMXSASAXXAAMAMMMSASAMMSAXMSMSAMAAAAMMMAAXXMMSMASAMSXSXAM +MMMASXSASXMSSSXSXAMAXXMXSSXMAMAXAXSAMXMAXSSMSAMMXXMAMAMSAMMAMAASXMSSSMAMXMAMAMXASAMSASMXAMAMMMXMASXXAMMXSSMXSXAAAXSXMXMXAMMXXMASXAAMMMMXMASA +MSSMMMMAMAXAXMXSMSMSMMXMMMMSSSSSXSXASAMXMAMXMASASXMAMXXSASXSMSMSAMXAAMAMASXMMSMMMSMXMXMMMMXMAXXSAMMMMXSAMAAMMMMSMMAMXASMSSSMXASXXMMSMASAMAXS +AAAXSMSMSMMSSMMSAMXMASAAAAXAAAAMXAMXMASMMXMASMMMSASXSXXSAMAXMXXMMMMSMMXMASXAMXMXAXMXSMAAXSXSSMMMXMAXXAMAXMMMXMAAXMSAMXSAAAAAASMSXMAXMAMAMXSX +MSSMXXAAAAAAAMAMAMSMAMSSSMSMMMMMMMAXXXMMAXXAAXXMSAMAMAMMAMSMMXAXMAXMAMAMSMMAMAMXMSMAMAMMXSAMXMAMMSSSMSSSMXAXXMMMSMMSSXMMMMMMMAAXXMAMMMSMMMXM +MMMMXSMSMMMSSMMXAMAMAMXMMASXMAAXASXMSSMXMMMMMSAMXMMMMAASXMMASMMMSXSSXMXSMAMMMASASAMAXMXSAMXMASASASAAXAAAMSMSAMXXMAMAMAMMAXASMMSMMXSSMAAAAAMA +XAAAAXAAMMMXMAMSSSXSXMXAMXMAMXMMXSAAAAXAAAXXSAMXAXASXXXAMXMXMAMMMAMAMSXMMMMASASMXAXASXMMXSASXSASXSMSMMSMMAMAAMSSSSMAXAMMMSMMAAXXXAMAMSMSMSAS +SSSSMMSMSAAAMXMAXAMMMSMXXAMXMASXXMMMMSMSSSXXMAMMMXMSMMSASASXSMMAMMMMMAAMAMXAMMXMSSMASXAAXSASAMAMMSXMAMAMSASXMMAAXMSSSSXSAAASMMMXMASAMMXXAXXM +AMXAMXMXSXSXSMMMXMAAAAMXXMXSXMXAAXXMXMAXAXMXMAMASAMXAXSAMASXAXSXSXAXMSMMASMAMSMXAAMMMMMMXMAMXMSMAMASMMAXSAMAASMMMMAMAAAMSSMMAAXXSASXXSAMXMXX +MMSMMAAMMXMXXMAXASXSMMSSSMASAMXSAMXMAMSMSMAMSXSAXASMMMMMMAMMMMSAMMAMMMSMASMMMAXMASMASXMMMMSMXMAMAMMMAXSMMSMSMMAXXMASMMMMXXXMSMSMMASAMMMSSMSS +XMAMMXSAMASAMSSSMSAAMSAMAMASXMAAAMXSXSXXXAXAXAMASXMMASAMXAXAMAXAMMSASAAMXSAMSXMMAMXXMASXAXAMAXMSSSSSSMMASAMXXSAMXSASXSAMXMXXMMXAAAXMASXXAAAX +MSASAAXXMAMAXAXAXMMMMMASAMASAMMSXMMAMMMAXSMSMXMASXAMMXXSXXMAMXSXMXXAMASXAMAMSAMSSSXSSMMSSSMSSSXMAAAAAASMMMSSMMAAXMASAMXMXAAMMAXSMSSXSXMSMMMS +MSAMMMASMASMMMSMMMXXXSXMXMAMAXAMAMAMAAMSXAMAAAMASMSMSMSMMSAMMAMMMAMXMXXAMMSMXAMAAXXXAAXAXAXAXMAMMMMSMMMXXXAMASXSXMSSXXAMSXSAMSMAAXXMMAMXMASA +MMSMXMAXMAMAAASMMSAMAMAXASXMSSMSSMMXXXSXMSSSSSXXXAMAAXAAASAMMXXAMSXMMXMASAMMSSMMMMSSMMMXMXMSXXSMASXXMXSXMMMSXMAMAMAMMSSMSMXXAAMMMMXMSXMAXXXM +XAMXAMASMSSSMSMAAMASASMMMMAMAAMAMXXSSMMMAAAAAAXSMMMSMSSSMMAMXAXSXMAMSASMMXSXMMASMAMAASXSXMAMXAXXAXMASAMXMAXAAAASMMAAMMXAXMMMXMMSAMXMAMSMSMAM +MSMSXMAMXAAXMAXMMXAXAXAAMSXMMMMASXMMAAXMMMXMMMMXAMAMMMMAMSMMMMSMAMXMXASXAAXAASAMMSMSMMAMMAAXMXMMMSSXMMSMSASXSMASXSSSXAMMMMXSXAMSAMXMAMAAAXAM +AAAAAMSSMMSMSMSMSMSMMSSMMSAMXASXSMAMSMMMASXSMXMMAMAMAASXMASAASAMXMMMMMMMMSSSMMXSAXMMAMXMASMMMAXAMXMXXXAMMMSAMXAXXAMXMXSASXAMASASAMXSXSMSMSXS +SMMMSMAAXAXMAAAXMAMAMAXMASAMSASAMXXMASASAMMXAAAXSSMXSXSASAXSMSXMASAXAAAXMXAMAMXMXMASMSMSAXAASASXSAMMMXMMAMMMMMXMSMSAMXSAMMASAMXMAMMMAXAXAMMX +MASXAMMMMSSMMSSSMAMAMSMSAXXMMAMAMAXSASMMMSMSSMMSXAAXMAMMMMXMXXAXMSXSSSXSMSMSAMMSAMMMAAXMASXMXASXSXSASMSSXSASASAAAAAMMAMSMXXMMSMSMXAMMMMMSAMX +SAMSAMXAXXSAAAAXMAMXMMAMASXXSMSMMMXMAMAXAAMMAAXSXMMMMAMXASMSASMMMMMXMMXMASXSASASASAMXMMMAMASMMMMMASAMAAAAMASAXMSMSMXMAMAMMAMXSAAASAASASXXSSM +MAXXMSSMMAMMMMXMMSXSAMMMAXMASAAMAXXMAMAASMSSSMMMMXSASMMSXSAMXMXAAMMXAMMMAMASAMMSAMASXSAMXSAMAXMAMXMMMSMMMMAMASAMXMMSSMMASXMMAMXMMXSMSAAXMASM +ASXMAXAAMSMSMMMAXAXMAMXMASMXMMMSSMMSASAMXAAAAMAAAXMASMAMMMXMASMSMSAMXMASMMXMSMXMXSAMXSMSXMMXMMSSMMAMXAAAXMXSXAXSXAAMASMXMAMMXXAXXMAXMAMSMAMS +SXMASMMMMAAAAASXMMSSSMMSAMXMXSMAXSAMXXXMMMMXMSSMSXMAMMAMAMAMMXAAAXMMSMAMAMXAXXXAXMMMXXSAMXSASAMXMSAMSSSMSMAMMMXSMMXSASXMSSMMASMSAAXXMAAAMAMA +XXXXMXMXSMSMSMSASAAMAAAAAMXMAAMAXMSMSMSXMXMSAXAAMXMASXSSSSSSSMSMSMXAAMASMSMSMSMSSMXMSXAXAASXSMSMMXAXXAXAMXASAXAMAXAMASAMAMAMAAXXMASXSMSAXSSM +MMMMSAMXXMXMXASAMMSMSMMMMMAMMSMMSMASAAAMSAMMXMMXMASMSXMAAAAAXAMXXMMSXXAXXAAAAXAAXMAMXXMASMMAMAAASMMMMAMMSMXMXXMMAMMMAMAMASXMMSMXXASAXAXMAMAX +AAXAXAXSMSAMMMMMMXXMMASXSMMMAAXAAMXXMMMXMASASXSMSAMXMMMMMMMMMSMSAXAXMMXMSMSMSMMMXXAXAMXMAMMAMMMSMAAXMSMXSASXSXSAXMAXMSMMMSAMSAMMSMMXMASAXSAM +SSMMXSMAAXASXAAMXASASAMAMAAMXSMSSSXMXMXXSSMMSMAAXXSAMXSAAAXAAXXXXMASMXSAXMAXMASMXMSSMSMXMAXSMMXAMSMMMAMAXAMMSASASMSMXAXAXXAXSAMAAXAMXXAAXXAA +MMMSAMMXXSSMMSSSMASAMMMSSMMXSAMXMAMSSMSXXAAAXAMMMXSAMASMSXSMSSMMXSAXAAXMXAMMMMMMSXMAXSASASXAXSMSXXASXMMMMSMXMAMAXMASXMSMMMSMSAMSSMMSSSMSMSSM +XAAMXMXSXXMAXMAAMXMMMSAMXAAXMAMXMAMAAAMMMSMMMXAMXXXAMMSXMXXXAAAAAAXMMMSXMMXSAMAAXXXXMMXMAMMMMSAMASAMXXAXMMXSMSMMMSSMMAAAAAAAMXXAAAXXAAAAXAMX +MMMSMMASMMAMMMSMMSAMAMMXSMMSMMSXSMSSMAMAAAAMASXMSSSXSXSAMXSMSSMMSMXXAAMXAAASASMMSMSSSSSMAMAXAMAMMMSMSSMSXMAXXAAAAXXAAASXMSMSMSMSSMMMSMMMMMSM +XMXAXMASAXAAAAXAASAMSMSAMXASAXAAXMAXXAMMXSSMAXAXAAXAXXMAMAAMXXXXMASXMXMSSMXSMMAMAMXAAXMMSXMMSSXMMAMSMAMAAMAMSSSMSSSXMAXAXXAAAXXAAXMAMAAXAXAA +AMSMSMAXAMMSMSSMMSSMAAMMMMXSAMMXMMSSSMMSAAAMXSSMMSMSMXSAMXSMMSSXMASAMAMXXXMSXSMSMXMMMMSMXASAXXXXMASASAMSMSSMXMAXMAXAMXSMMMSMMMMSSMMASXMSASMS +XMAXSMXMAMXAXXXAAMAMMSMXXSAMMAMXAXAAAXAMMSMMAMAAXXAAMMSXXSAAXAASMASASXSMMSXMASASAASMMMAASAMXSMMXSMSMSMMMMAMMSSSMMAMXMAMXAMAXSAMMAXMASAAAASXA +SXSMSAMSSMXMSMXMXSMMSAXXAMAMXXXMASMSSMMSXXXMASMSMMSMMAXXXMMAMXMMMASXMXSAAMAMAMAMMMMAXSMMMAMAAAAAAAXXSMXAMXSXAAMMMMSMMASASMAMSAMSMMMSMMXMXMAS +XAMAMXMAMMMMAMAMMMXXMASMSSSMSMSXMXXAXAAAMSXSAXXAAMXMMSSMMSASXSAXXMSAMAMMASASAMAMASMXMXXASXMSSSMSMMMMMAXSAMXMMXMAAXAXSMSAMMAMSAMXXAXXXSAMMMMA +MXMAMMMAXMASASASAXSSMXMAXAMAAAXAMMMMSMMMMSASXMSMXMAMAMAMASMAAXMASASXMAMSASASASXSASAMMXSMSAAXXXAXXMSSMMXMASMXAASMSSSMMXMASXMXSMMMSMSMXSAMAAAX +SASAMXMSMSXSASASASXAMMMXMAMSMXSAMXAAAAXXAMAMSAAMASAMASMMMSXMASXAMAXXMXMMASASMMMMXMAMXAXXSMMMAMMMMSAXAXSAMXXMSMSAAAXXMAMXMMSAMXAAAMAXMMSMSSSS +SASASXXMMXAMAMXMXMXSMAMXMXMAAXMAMSMSSSMAMMXMASXSASASXSXSAMXXAAMXMMMMMMMMXMXMASXSSSSMMMSMXAAMXMMAXMASMMMMMMSMMMMMMMMSSXMAMXSASMSSSSSXSAMXXAAX +MAMAAMASMMMMSSMSASAXSASAMMMXSSXMMAAAAMXSMMSMXMMMASAMAMASMXSMMMAAAASMMAXMXSXMAXAXXMXAAMAMSSMSSMSXSXAMXAAASXMAASAXAAAAAXSSSMSAMAAAMAAAMAMSMMMM +MSMSXMAMMAAAMAASAMAMSMMASAASXMASMSSMSMXMAXMXAXAMMMAMSMAMXAXASXSSSMMXSSSMASAMSMMMSMXSMSAXMXSAMXMSMMXXXSSMSASMMSAMSXSMAMMMAXXXMMMSMMMMMMXMASXX +AXAXXMAMSMMXSMMMSMSMSASAMMMMASMMAMMMAMAMSMSXXSSXSSMMXMMXMXSXMAMXXASXMASMASAMAAAAMAAXXMMXAXMXSXXAXMASMMXAMAMAAXAMMAMXXMXSMMMSMMAXXASXMXASMMAS +XMMMMMMMSAMMSXAMAXAASAMAXXMSXMXMXMASASAXMASMMMMMMAAAMXMSMXMMMSMMSAMAMAMMXSASMMMMSAMXASMMSMXASMSMSMASAAMAMASMMMSMXASAXSAMAAAAAMSXSASAXSAXXMAS +MMAAAXMASAMAXSXSMSMMMMMSMAAMASXMASASASXMMAMMAMAASMMMSASAMMAAAAXAMXSXMSSMAXMAMSAXXMSMMMSAAAXXSAASAMXSXMMMSAMMAAAMSXMMMMASXMXSSMAAXASMMMXMSMMS +MSSSSSSMSMMSMMXAXAXAAXAXMXMMXMASASMSAMMSMMMMAMSMSAMASXSASXSMSSSSXMAAXXAXMASAXMSMMXSAXAMXMSSMMXMSMSAMAMAXMASMMXMASAAMASAMAXAXAMMSMMMXXAAMAAAX +XAAAXAAXSAAMAMMMSSSSSMMSSMMSSMMMASAMXMASAMMMSXMASXMASMMAMAAAAAXAAXSXMSSMXMMMSMASMASXMXSSMAXAMSXMXSASASMSMMMMASMAMMMMMMASMMMSAMSAMSASASXSXMMS +MMSMMSMMMMMSAMXXAAAXAMXAAAXAAASMXMAMMMXXAMXMMAMXMXMASAMXMMMMMSMSAMMMASMMMAASAXMAMXSXMAMXMASMMSASASASAXAXMXMXAXMSMMSMXXAAASXSAMMAXAASMXMSMXAX +XAMAMMASMXMSAMXMMSMSMMMXSSMSSMMXXXXMMSMSMMAMSAMXAXXMSXMSXMAXXAMXAMXAXXMAASMSMMSAMMMXMASXMXSXASAMXMAMMMSMSAXMMSAMAXMASMSXXMASXMSSMMXMASAMXMSS +MXSAMSAMXAMXXMXSAMXMMAXXAXMAAXSMSMSXXAAAXXAMMAXMSMSMSAMXMSMSSMSXSMSSSMSAXXAXAASASXAASAXXAMXMMMXMAMAMXAAASMSMAMMMXMMAXAXMASXMAXAAAXSMSMSMSMMA +SMSAMMASXMSSMSXMASAMSASMMMMSMMAXAAAASMSMSSSSSXSAAAXXMASMAAAXAXMAXAAXAMMXMSXMMMSAMMSMSMMSSXMXAAAMXMAMXXMXMXXMMSXMSMMMSSMMASASXMSSMMAXAAXXMAAM +MAMXSMMMXAAMAXAMAMAMMASXMAMAMAXSMSMMXXXAMAAAAAMXMMMMMXMAMMSSXMMMMSMSMMSAMAMMXAMXMAMXSMMAMASXMSSMSSSMAMSAMSAMXSXMAAAAMAXMASXMXMMMAMMSMSMASAMX +MAMAXAXAMMMMMSXMAMAMXAMXSAXAMXXAXAXSSMSXXMMMMMMXXMASXMASXXAAAMXAXXAMXASASAAMMSSMXXSMSAMXSXMMMMAMAAAMAMSASAXSMXMSSSMXSASMXSXMAXMXSXXAAAXAMXMA +SMSSSMMMSAMSASMSMSSSMXMXSASMSXMASMSAAAMXASXMXSAMXMAXAMAMAMMSMMSSSMAMMMMAMXSXAMAMXMSAXMMMMAAAASAMMSMSMXSXMMXXAAAXAMXASAMMASASAXSAMMXMXMMASXAA +AAAAAXAXMASMASAAMAMXAASAMXMAAMAXAMMMMAMMXMAMAMASMMSSSMASAMXAXXXMAXAMAMSMSAXMXSAMAMMXMMAAXSSSMSXMXAMMMAXAAXAMMMXMASMMMAMMASMMASMASAASXSMXSAMX +MMMSMMAXMSMMXMXSMXSXSXXASXMMMMMMSXMXSAMXASXMAMAMAAXAASASXSXSSXMASMMSAMASAAXAASMSXMAMSSSSXMAXMXAMSMSAMXSSMXMSAAXSAMAXSXMMASAMXMXSMMXSAAXAXXXX +XAXAMASXMXAMXSAXMAMMMMAMXAXMASXAASMASAMSAMMASMMSMMMMMMMSXAAMAMXSAMXSXSXSMXMMMXAMMMMMMAXMXMMXMMXMAASAMAAAMSASMSMMASXMAMAMASMSSSXMAXXMXMMMSMSM +SSSMSAMAASAMXMASMASAAMAMSMMSASMSMXMASAMXAMSAXAMXXMXXMSXMMMXMXAMXAAMSASMMXMSXSMAMAASMMMMSXXXAAXMMMXMSMMMAMSAMAAXSXMMSAAXMAMXAAMAMAMAMXXAXAAAM +XAAXMASMMSAMAMSMMASXSMMXAAMMAMAMMSMASMMSAMMASXMMSMSAXSAXSMSXSAMSXMXMAMMAAAMAMSAMMMSAAMAMAASMMMXAXAAXXMSSXMAMSMXAMXAAASXMMMMMSMASXSXSXMSSMSMS +AMMMSXMAASXSAXMAMXSAMXSXSMMMSMAMAAMXSXMAMXSAMASMSAAMMSAMAAAMXAMXXSSMAMSMMSMAMMXSMMSXMMAMSMXMAXXASMSMAMAMASXMMMMXAMSMXMMMSASAMMXSAAXAAMMMAAAA +XAXXSXXMASAMMSMMMAMXSASAMXSAXXXMSMSAMXSASAMXSXMAMXMXAMXMMMMMSMMXAAASAXAASXMMSMMSAAMSSSMXXXXSASAMXAMMAMAMXMMAAAMMXAMXAMAAMMMAMMMMMMMXAMAMMMSM +SXMAMASXAMAMAXAAMASMMAMAMAMASXMMXXMXSASMMXXMXMMMSXXMSSSSXMSAAAXMMSXMSMSXMAXAAAASMMMAMAMXMMXMASMMMSMSXXMXSAMSSXMAASASASMSSXMAMXXASXSXXSASAAXX +AMMAMMMMMSMMXSSMSXSXMAMAMAMAMMSAMXSMMMSAASMSMAAAMXMXAAXXMASMSMMXAAAXXXMASAMXSMMMXAMXSMSMAXAMAMASAMAXMXXXSAMAAMMSXMAMAAAMAMSSSMSASASAMSASMSMA +XXSAMXAXMAASMXMASXSMSXSASXSASXXASXXXAAMMXXAASMMSSMAMMSMMMAMAXASMSSSMMXSXMAXXAAXMMXSAMXXXSMMMMSAMASMXMAXXSAMMSMAXAMXMAMAMAMMAAAAAMXMAMMMMMAAM +SXSASXSSSMXSSMSASMSAMASAXMAMXXSAMXMXMXSAAMSMMMSAXASMAMAXASMAMASAMAAXSAMAMASMXMMSAAMASMSMMXSAMMXSAMMMAMXASXMAMMASXMXXAXASASXMMMMSMMXSMSASMMSS +MASXMXAMAMXSAMMASAMAMXMAMSSSMXMASASAAASXSXMAXMMAMSAMXSXMAMMMMAMAMSMMMASXMASAASAMMSMSMMAXAAXASMAMXSXMASAAMXXAXMASXMMMASASASMMMAXMASMMAMMMAMXA +MAMAAMXSXMXMAMMXMMSMMSMXMAMAMAMMSASMSMMAMXSAMXMXMMMSASASXXSAMXSXMAASMMMXMASMAMASAMXMASMMMSXMMXMMMAAXAMMMMXMSSMASMSAAMMMMMMAXSSMSAMAMAMXSAMSM +MASMMMAMMSMSSMMSMXMXAAXXMXSASXSAMXMXMAMAXXMAMXMXMXXMASAMXMSXMAXAXXMMAAAXSAMXXSXMAMASAMXMXAASASXAXSSMSSXAAXXAXMMMXMXXXAXXAMSMMMMMAMXXAMXMAMSX +MMAMAMAXAXAXAAXMXAMMMSSSMAMASXMASAXAXXMMSMMASAMAXMSMMMMMXXXSMSSMMSSSSMMMXXSXXMMMSMMMAMXXAXXMAMSAMXAAAAXAMXSMSMSSMMSXSAMMMMMAAMXSXMSASMSSXMMM +SAAMMSAMSMSASMMMSMSAAMAMMAMMMMXAMXSMSSXMAMAAXAMASXSAMAXMXAAXMASAAAAXXASXMMMMMAAAAAXSAMMMSSXMAMAMASMMMSMMSMAAMMAAAAXAMXMASASAMXAMXMSAMAMAMSAS +XMSMXMAMAAXAXXAMAXMMSMAMSXSSXSSSSXSXAMASXMMSSSMSSXXAMXXMSMSMMASMMMSMSMMAAXAAMAMMSMMMAXMAAAASMSAMXMXAAXMXAXMAMMXSMSMMMAMMMASMXMXSAXMXMXMSMSAS +MAAMXSMMMMMAMSSSSSXAAMMMMMAMXMAMAMXMXSXMSAAXAAMXMASMMSXAAXXAMAMAAAMXSASXMMSXSAMXXAMSSMMMSXMMASXSAMMMSSXSMSXSSXMXAXAASASAMMMXAASXXSXXAXAAAMAM +SMMXAMXAAAMAMAMAMAMXSSMAXSAMAMMMXMXSMMMASMMMMMMAMXMAAMMMMAMXMASMMXSAXXMAXXAXSASASAMAAAMAMAXMXMMSASAAXXAMXMMAAXAMSMSMSASMSMSMXSAXMXMMSSSMSMAM +AAXMASMSXSSMMSMMMAAXMAMAMSASXSAMASXMAAMXMAAXXAMMXXXMAMAXXMAMMXXAASMMMSSSMSMMSAMASMMSSMMASAMXAXXSASMXMMXMMXMAMMSXMAMXMMMAXAXAXMASMAMAAAAAMXMX +SAMAASAXAAAXSAMMSXSASAMXASXMMSASAXMSSMXMXSMSSXSAASMSSSXSXMSMMSSMMXASXXAXAAXAMXMXMAAAXAMAMAMSMSMMXMASXMAMSXMAXAMMMXMXMASMMMMSXMSXMASAMMMMSASM +AXMSXMAMMSMMSMSAXMMAASMMMXASASXMMSXAAAAXXMXAAAMMMMAAAMASASXSAAAXASMMMMAMSMSXAXSMSMMSSXMMMMMAXXMASASAMXAXAXMAMAXAXMASXMSXMXAXXMXMSMMAXXXXXAMX +MMMMXMAMXXXAXXMXMASAMXXXXXXMASMSMSMXSXMSAMMMSMXASMXMXMASMMAMMSMMMXXAAMMMAXMMSXMASXAXMAXMAXSMMMXXAXXAAMMSMSSSSSSMSMAMAXSAMAXSASXMMXSAMSXMMMMX +XAAMMSXSAMMSSMMSSXMAXMMMSMSMXMAAASMMMAMSAMAAAXSXSMSXXMAXXMMMAAMAXASMSSMMMMXMMAMAMSAXSXMXXXAXXSSSMSMMMMXAXMAAAAAMMXSSMMSAMAXSXMASAMMSMSAMMSMM +SSSXAAMMASAAAAAXMASXMMAAMAXSSMSMSMMAMXMXMASMMXAAMASAMMSSXXAMSSXXMASMAMAMXMAMMSMSXSXMXXSAXSSMAXAAXAAAAASAMMMMMSMMAAMAMXSAMAXXXXXMASAXMXAMAAXA +XMMMSSMSAMMSSMMSMAMMAMSSMSMAMAAMAAMMSAMAXXAMXMMMMAMSMAXXMMAXMMMSAMXMAMAMAMAXAAXXAMMMSAMXMMAMMMMMSSSMSXSASAXXAXXMMMXXMXSAMXMMMSMSMMMSMSSMSSSS +SXAAAAAMAMXAAAXSMXMXMMAMXXAAMMMSSSMASASAMSAMXXASMMSXMXSAMXSXSAAXMXXSXSSSSSSMSSXMAMASMXMSASASAAAAXAAAXAXASAXMMSXSAXSMAASXMAAASAMSASMMMAAXAAAX +ASMMSSMMASMSMSMMXXSASXMSMXSSSXXMMMMXSAMXXMSMSXXMAMXMAMMAMXXAMMSSXMMMMSAAAAXMAXXSAMXXAAMXASASXXMMSSXMMMMMMMSMAAAMXSAAMASMXMMXSASMXMAAMSSMMMMM +MXSAXAAMXSAMSMAMAAMAMASAXXXAMMAMAAMXSAMXXAAXAMXSSMSMSSSSMXMXMAXMAXAASMMMMMMMSMMMAMSSSMSMMMMMMXXXAMAXSXMXAAAMMMSAXMASASMMSSMMSMMXXSXMMAXAMXMA +SAMMMSMMXMMMASAMSSMAMXSASMMAAAASMXSASAMMMSMSMSAAXSXAXAAMAMSMMSSSMSMMXAMXMAMXAMSSSMAAMMXXAAMAMXSMAXXMSAMSMSMSXAMMMMMMXAAAAAAMMXASMSXXMAXMMAXS +MAMSAMXSASASMSSXMMMMSMMAAXSSMSASAAMASAMXAAAXAMMSMMMAMMMMAMAAAAAAAAXSSSMASMSAMXAAXAMXMASXSMMASAXSSMSMSAMSXMAMMMSAAAAAMMMMSSMMAMXSASMSMSMSMSSM +XAMMASAMASASXXMXAASMAXMMMXAMAAAMMMMAMAMMSSSMMMXAAXASMAXSASXSMMSMSMMMAAMXXAMMXMMSMXSAMXMMAXSXMMMMMMMASMMMASXMAASXSSMSAXAAXMAMXXMMXMAAAXAMAXAM +XSXMAMMMMMAMAXMXMMSSXSXAXSAMXMXSASMXSXXAMAMAXMMMSSSMSSXSXSAMAAMAAXAMXXMMMSMMAAMMAASXSAXMSMSASXAMAAMMMSSMMMAMMXSAXAXAXMMMSMSXSAMXMSSMSMAMMMAM +MMAMSSXXAAAMXMAXSAMMMSMSMSAMXMAAMMAASAMXSMSXMMXSAMXXAXAMAMXSAMMSMSXMAMMXMMASMSMMMMMXSMSSMAXMSMMSSSXSAAXMMSXMXAMXMXSMSSMXSAMAMXMMXAAXXXAMXSSM +ASAMXMASXSMSXASAMSXXAMXAASMMAMMAMSMMSXSAMXSAAAMMASXMXMMMSMAMAMAXAMXMASMAASAMMAXAXAAAXXXMMXMXSAXAAMAMMMSXMASMMSSSSMSXAAMAMAMMMSMMMXSMSMSMAXAM +MSASMSMXAXXXXSAXMASMSSSMMMASXSXAMXAXSAMXSASMMMXSAMAXAAMAXMXSAMXMAXAMAXMAMMMSSMSMSMMMSMMMSMSAMXMMXMAMMMMMMASMAAAXMAMXXSMASAXMASAXSMMASAMMSSMA +ASAMAMMMSMSSMMAMXAXXAXAMAMASAMXSMSMMMMSAMXXAMXXMASMMMSMSSMASASXMSMSXSSMXSAAXAMXAAXAXAAAXAAMAXSMMSSMMSAAAMAMXMMSMMSXMAXMMSMSMXSSMMASAMXMAAXXX +MMMMMXAMAAXXAXMMMSSMMXMXASXMAMAMASXMXAMMSXSSMSMXMXXMAAXMAMMSAMMAXAMAXMAASMXSAMMSMSMSSSMSMSMSMSAAAXXAMXMSXMSAMXXXAAXAMXAMXMXMASAXMAMAMMMMSSSM +XAXSSSSSMSMMSMMAXMAMMASMMSMSAMMSAMAXMMMSAAAAAXAASMMMSSSSSMXMMMMAMAMSMMMMSAMSAMAXMXMAXAAXAXAMASMMSSMSSSMMAASXMASMSSMSXSSMMMMMMMMSMMSXMAAAXAXA +MSXXASXAAMMAAASAXSAMSASAMXASMSXMASXMSXMSMXMMMMAMSAAAAMAAAXSAMXMXSAMXASMAMAMSAMSMSAMXSMMMMMAMAMAAMXAAAAAMMMMAAASAMXAAMAMXAAAAAAXAAASASMSSMAMM +MXAMXMSMMMMSSMMSAMXXMMSXMAXXMAMSAMXXSAMXXSXASXMXSXMSSXMSMMSMMAXMAMASAMXSSSMXMAXASXSMXXXXSSXMMSMMSMSMSMMMAASMMSMXMMSMXMASMSSSSSSSSMSXMAXXMAMX \ No newline at end of file diff --git a/2024/puzzle_test.go b/2024/puzzle_test.go index 7018507..a04e082 100644 --- a/2024/puzzle_test.go +++ b/2024/puzzle_test.go @@ -54,6 +54,22 @@ func TestPuzzles(t *testing.T) { inp1: "xmul(2,4)%&mul[3,7]!@^do_not_mul(5,5)+mul(32,64]then(mul(11,8)mul(8,5))", inp2: "xmul(2,4)&mul[3,7]!^don't()_mul(5,5)+mul(32,64](mul(11,8)undo()?mul(8,5))", }, + + { + solver: Day4{}, + ans1: "18", + ans2: "", + inp1: `MMMSXXMASM +MSAMXMSMSA +AMXSXMAAMM +MSAMASMSMX +XMASAMXAMM +XXAMMXXAMA +SMSMSASXSS +SAXAMASAAA +MAMMMXMMMM +MXMXAXMASX`, + }, } for i, tt := range tests { diff --git a/main.go b/main.go index b2d5ee6..33727f7 100644 --- a/main.go +++ b/main.go @@ -19,6 +19,7 @@ var puzzles = map[string]puzzle{ "1": adventoc2024.Day1{}, "2": adventoc2024.Day2{}, "3": adventoc2024.Day3{}, + "4": adventoc2024.Day4{}, } func main() {