init day 4; pre-golf

This commit is contained in:
Adam Jeniski 2024-12-04 00:40:28 -05:00
parent caa9f6415e
commit 025e25f11f
2 changed files with 229 additions and 0 deletions

140
2024/input/4.txt Normal file
View File

@ -0,0 +1,140 @@
MMSAXXMMMMSMSMXMXSSMAMSMSXMASMMAXMASMMSMMAMXXMASXMXXXMSASXSSMMXSAMXXMAXXSMSMSMXXAMXAXMMMSMXAMMASMSMXAMXXMMMMSMSXSAAMXMMMSAMXSMMMMMSAMMSMSXXX
MASMMSMMAMMAMMASXMXXAMXMSXAAXAXAMXMXMASXXASXSSSMXXMAMAASXXSAMXASASASXSSMMASAAMSMSMSXSAAAAMMMSMMMMAMSASMMMMXAAXXAXMMSAMMSAMXAAMASAMMASAAMSMMS
MMSMASMSAMMAMSMSAASMMSAMSMMXXMMXXASXSXXASXSAASAMXAAAMMSAMXSXMMMSAMASMAAXMAXMAMSAAMAAMMMSASAAAAXASMMAAMMAXAMMSSMXMMASASXSAMMSMSAXAXSAMMMSXMAA
XSXMXSASASXMMMASMMMAXXAMXAXMXSAMSXSASMXMSSMMMXMSSSSXSMMASASASAMMAMSMMSMMMMSSMAMSMMXSSMMMMAMMSSMASXMMXMXXMSSXAAAAMMAMSMXSAMAAAMMSSMMASAMSAMSS
MMMSMMAMAMXAAXXXMXMXMMMMSMMAMMAMXAMAMXSXMAXAMAXXAAXMAXSAMASASMSSSMAAXMAAAAAAMXMXSXAMXAXSXSMMAMMAMAXXXMSMAAXXMMSXSAASXMASAMSXSSMXAASAMMMSAMMX
MAAAAMAMXMSMMXMASMXXMASXSAMSASMMSAMXMAMMSMMXSMSMMMMXMMMSMMMMMMXAMXSMMXXSMSXXMASXMMAXSMMSXMAMMSMXSAMXAAMMMMSMXAXASMSAMXMSMMMAMXXSMMMXSXMMXMAS
SMMXMXASAMASAAMAMAXMSMXASMMMMSAMXMMXMASAAAMMAMAXXAMMSAAXXXAMSXMXMXMAAMMXXMXMSASAXSXMASAXAMMMXAMMSXMXSSSXXXXAMMSMXMAXMSXSAAMAMAAXXSXMMAMXAMAS
AMSSMXMXMMAMSSMAXSAMXSMAMAASXSMSAMXASASXSAMSASMSSXMAXMSSSSSMAAMXMMSAMAAMMSAMAMSMMMMAXMMSAMSASASAXASAMXAXSMMXMXMXASAMXSASMMMAMXSMMSAMSAMMXMAS
SAAAMMSSMMAMAMXMMXAMAXMXMSXSAMXSMXSASASAMMXSASMXAXAMXSAMAAAMSAMSXAMAMXMAASASMAXXXXASXAXMXXSASAMXXAMAMMMAASMMSAXMAMASAMAMAMXSMMAXAMMMMAMXAXAM
AMSSMXAAASMMMMSMAMAMASXSMMMMAMAXMXSAMXMMXSAMXMMSMMSMMMASMXMAMAAXMSXMSSXMMSAMXAMMMSAXMMMSMXMAMAXMASXMMAXMMMXASXSXMSXMAMXMAMAMAMSMXSXMSAASMMAS
XMAMAMMMMMAMXAAMSSSMAAAASAAMMMSXMAMAMXSAAXAXXMASXAAAASAMXAAASMMXXMASAMAXMMMXMXSAAXMMAAAAAXAASXMMAMAASMSSXXMXSMSAASMMXMSSSSMSAMAAASAMXSMSAMXA
AMMXXMSAMXMMMSMSAAXMASXMSXSMSAXASMSMMAMMSSMMSMASXSXSMSXSMXMMXMSMSMMMASXMXAMMMASMSMASMMSSMMMAMXAMXSMMMAAMMXMSMASMMMAMAXMAAAXXASMSMSAMAAXMASMS
XMSMSAMMSSXAAMMMMSMMXMXXXMXXMASAMXAXMAXMXAXAXAAXAMAMXMASAAMXMASAMMMSAMXSSMMAMMSAXXAMAXXAASXMSSXMMMMSMMMSAAMAMXMAAAXSAMMMMMXMMMAAXSMMSSMMAMAM
XAAAMAXSAMSXSMASAAMSAMMSMMMAMAMMMMMXSASXSMMXSMXMXMAMAMSMSXSASMMSMAXMMMAMMMSXMASMXMMSSMMMMMAAAXMXMAAXASASMMSASXSSMSAMAXXXASAAASXSXMAMAAAMAMAM
SAMXMMMMMMMMMMAMXSMSXSAAAXSXMXAMXMSAMXSAAXAMMASMXMXMSMMAAXXXSXAAXXSASMXSAAMXMASXMAXAAXAAAMMMMSMSMMMSAMXSAMXMMAAXAMASAMXMASXSXMXXASMMXSAMXMAS
XXXMAAAXMAXAXMMMAMXMMMXSSMXXXXSAMXMASMMXMMSSMAMMAAMMXAMMMSMASMSSSMSAMMAMMXSAMASMMSMMSSXSMSAMXAAAAMAAXAAMXMASMSSMXMXMAMSAMXMMMMSSMMAAXMMSASAA
XXSXSSSXSASXMSAAXXSXAAAXMASXMXMAMXSAMAMAXMXMMXSSXMXAXXMXAAMXMAXMAXMAMMSXSASXSAMXAAAMAMXAMXMSSSSSSMXMAMXXAMXSAAMAXMAMSXSAMMAXAAAAXSMMXSASXSMM
AMXAMXXAMXXXAMXSMAMMMSSMXSMASASASXMMSASXSXXMAMMMAAMMSMMASXSXMSASXMSMMAAAXAMMSXMMSMSMASMMMAAXXAAAAAXAXMMSSSMMMMMSMXMXXASMMXMMMMSXMMAMXMASXMMX
MSAXMAMSMSMMMMAXMAMXAAAAMASAMASAMMAXSASAMAMMMAASMMSAAAMXMAMMMMMMAMXSMXMMMAMAMAMAXAMMMMMXMMXXMMSMMSMSMAAXXAXAAMMMMSMMMAMAMXXASMMXSSMMAMXMXMAA
XSAXMXMAAXXAXAAXSXSMMSSMAXMXSMMXMSMMMMMAMSAMXXXSXAMXSMSASAMMXSASAMAXXAAXSMMSSMMAXAMXMAMMMMMSMAAXXXAAXMMSSSMMMMAAMAMAMAMAMXSXSAMXMAAXMAMSASAS
XSAASAMMXMSMSMMXMAMAXXMASXAASAMMAAAMXMSMMMSSXSSMMMSAMXMASXMXMSASMSSSMSSMXMAXAXMMSSMMXASAAAAAMMSXMMSMMSMMAMMSXXXMSASXSXSAMXSMMXMAXSMXXMMAAAXX
MMAMMAMXXMXMAAMAMSMSSMSXMMMMSAMXSXSMXXSAMXAXMXAASAXAXXMAMASMAMMMXAXAAAAMSMMSXMAMAXXMSASXSMSMSAXAXAXXASAMXMAAMXSASASAMXXXXMMAXMSSXMSMMMSMMMMX
AMXMMAMSMMASMMSAMMAMXAMMXXSXSXMMXXAXXAMXAMXXMXSMMAMSMSMXSAMASXMMMMSXMSXMMAXMASXMASXMAAMAXXAXMASMMSSMMXXMAMMXSAAMXMMASMMMMMSSMXAMXAASAAAXXAXM
XSASMSXMASAMSASXMMAMMAMSMXMMSASASXXMXMSMSSMMSAMXSAMAAAAMMXXXXXMASMSXAMAMSSMSAMMMASXMMSMAMMMSMAAXAXXMSXSMXXAAMMMAXXXAMAAAAMAMXMASMMMXMXSXXMSS
XMAXAAXSMMMMSMMAMSXMXAAAASAASAMAXAASXAAMAAAMSASAMASMSMSMMMSSMXSASASMXMAMSMAMASMMASAXAXMAXAXAMMMMXMAMXASASMMSMXMSMSASXSMSMSASXMASAMSMSXMAASAX
ASAMXMASXMMASAMSMAASXSMXSMMXMMMXMSAMMXMMSMMMMMMXMAMAXAMASAXAAAMAMAMAXSMMXSAMSMMXAMAMMMMMSMXMXXXXAMAMMAMAMXMAMXAXAASMXXXXXMXMXXAMAMAAMAMSMMAS
MXMSXXXMAXMASAMXMMXSAXXMMAXAMSSMXMAASXSAXAAMAMXMASMXXASMMMSMMMMXMAMMMMAMAXXXXMSMSSSMAAXXAXAAMXMMXXAMSAMXMASMSSSSSMMXXMXMAMMXMASXXSMXMSMAXMMM
MAMXXMMSSMMMSMSXMXMMAMSSSMMMSMAXXXAMXAMMSSMSASAMMAAMMMMAAAAXAMXMMXSXASAMSMXMMAAAXAMMMMSAAMSXSAASXSMXSMXMXMASAAAAAXSMMXSAAMSAMXMAMXXAMXMMXMAS
SASAMXAAAXXXMASMXAMMSMAAAXMXAMMMMSSMMXMXAXMSXSAMXMSXSSSSMSSXXMAXXAAXAXXMAXMMMSMMMMMMSASMSMAASMMMAAXASASMSSMMMSMXMASASAMSMSMXSMSXSASMSASXMSAS
SMSASMMSSMMXMSMMSXSAAMMSMMSSMSXXAAAMXXXMASAMMSAMXXXAMXMXMAMXMSASMSMMSXMSMSAXMASXAXAXMASAMXMXMSMMMMMXXAASAAASXMXMMXSAMMXAXAAAMAMAMASASMSAXMXM
MAXAMXMMXMMMMAAAXAMMXMMXAAMAMXXMXSSMXXMMXSXMASAMMMMMMSMSMSSMMAAAAXXAXXXAMAAXSASMMMXSMMMMMSXAAMXSAXSXMMMMXSMMXSAMXAMAMMSSMMSMMAMSMAMAMAMMMXAM
SXMAMXXMAMSAMSMMMAMAASXMMXXAMXMAMMXAMMXSAMXXAXMMAAAAXMAMAAAAXMMMXMMXSXSAMXAMMXSAMXMXAAAAAXXMSMASXSMAXSASXMASXSASMMXAMXAMAXAMSMSXAXMXMXMAMMXM
XMAXXMAXMSMXXAMXMSMSMSAMASMAMXASASXSAAAMASAMXSASXSSSXMAMMSSMMXMXAMMMSASMMMSXSXSAMSMSMSSSXMXXXMASXAMMMMASMMAMXSAMXMAXSMASXMXXXMAMXSMMMASAMAAA
MASASMMSMAMSSMSAAAAXASXMAMAAAMXMSMAXMMXSAMAXAAXMAXAXASMXMXMAASMSXXAAMAMMAMXAXXSXMAXAMMMXAXMAMSXMMAMSMMAMXMASXXAMMSXSAMAMAASMSXSSXSAASASASXSS
ASMAXMAAMMXMAMSMSMSMMSAMXSSMSAAMAMMMASAMXSXMXSMMXSASXMXAXAXXXAASAMMSMSSSMSMAMMMMSSSMXSASXMSAMXAMXXAAAMASXMAMXXAXXAXSAMASMMMAXMASAMSMMASAMAAX
SAMXMMSMSSSMMMXMAMAAASAMMXMAXMXSAMASAMMAMXAXSAMXAMAMMASXMSSSSMAMAASXMMAAAXXAMXAAXMAMAMXMMMMMSMSMASXMXMAMXMMXSMMMMMXMMSMXAAMAMSAMMMXSMMMXMSMS
XXSXXAXSMAAAASXSMSSSMMASMMMMMSAMXSXMAMSAASMMXAMMMXSMXAMMAXXAAXMMXMXASMSMMMSMMSMSSXXMXSAMAAAXAAAXXXAXXMXMSXSASAAMAMAAXMASMMMSAMAXXXXAXMASMAAA
MASMMMSAMSMMMAAAAXAMXSAAMAAAAAMAAMMSAMSXMSASXSMSMAXMMXXMMXMXAMXXMMSAMAXAXAMXXAMAMASMMSASXSSSMSMSMSMMXSAAXAMAXAXSMMMSMMAAASAMXSSMSMSMMXAXSMSM
MAMXAMXMXMASMMSMMMSMMMMSSMMSSMXMXSAAXXXMASAMXAAXMASASAXXSMSAMSAMMMMMXSMXMASMSMMXSASAMSXMAAAAAAAXAAMMASMSMMMSMMMMXSXXAMXSMMMSMMMAAAAXMXMXMXXX
MSSSSSSXMXMXAXXXXAAXAAMAMXMAXXASAMXSXSMSMMMMSMMMAAMAMXSAAAAXSMMXSAMXXXXAMMAAMMMMMASXMXASAMXMMMSMSMSMASAXXXAXAXMAXMASXMAXAAMXMAMSMSSMSAMAASMS
AXAMXAAAAAMSSMMXMSMSSSMSMSMAXXAMMMXXAMAAXMSAAAMMSXMXMAMMMMMSMAMAMXXAAMSXSSSXMAAAMXMXXXAMAXMASXMAAAMMMMMMAMSMMXMAMAMXAMASXMSASAMXMAMXSASMXSAX
XMXMMSMMMMXXAAXMAAXXAMXAASMSMSSMSMAMAMSMSAMSSSMAAASAXAAAMMXMMAMMSSMMXAASXAAAMMSMMASASMSSSMAAAAMMMSMMXAAXSAMXSMSSMXMSAMMSMASMSSMMMXSXSAMXAXMX
MXXXAAXSXSMSAMXAXMXMMMMMMMAXAAAAAMXMAMXAMXMMMAMMSXMASMSSMSAMSXSXAAAAMMXSMMMMMXAMSAXMXAAAMMSAMXXXXXAMSSSMASMAXAAAAAAXASMMMAMASAMXXAXASXSMMMSS
ASMMSMSAASAMMSMSAXSSMSASMMSMMMMSMSAMMAMXMASASXMAXAMAXMAMAMMXAMXMMSMMSSXMASXXXAAMMMMXMAMAMAAXSAMSASMMAXMMAMXSMMMSMAMSAMXAMSSMSAMXSMMMMMMASAAX
XAAMASMMXMAMAMAMMXAAAXAXAAAXAXXAAMXMAAXASXSASXMASAMXSMXMAMSXMMMAXXAXAAASAMMSAMMMAXAAMAMXMAMAMXMSAMMMXSMMMSSMASAXXAMMMMXXMAXXXAMAMAAAAXSAMMSM
SSXMMMMXMMMMMSMAXSMMMMSMMSSSSSSSSMASMSMMXMMAMXMMXXXMAMXMSXMASMASXMSMSSXMXSXSASMSMSXSSXXAMMASMSAMAMXXAMAAMSXSAMXXMMSXAASXXMASMMMMSSSXSMMMSAXX
AXAXXXSAMSAMXMXMASASAMXAXMAAXAXXAMXSAAAMAAMAMXSAAMMMAXMAXASAXASXMAMAMMMSMMASXMAAAXAXMMMAMXAXAXASAMMMXMMMXMAMXXSXSAXXMXMXAMAXAAMMMAAAMMSSMASX
MSMMXXMAMAAMMMMMASMMMMSAMMMMMMMSMMMMMMASXSAASXAMSMAXSMMXMAMASMAXAMMAMXAAAMAMAMSMXMXMAAXAMMMSASXMXAXSXSASXMXXSASASAXSMSSXXMSSSMMAMMMMMAMAMMMX
MAASXSSMMSSMXAAMASXXAAMXMXAMXXMSSMASXXXMAMMMMMXMAXMMMXMSSSMXMMAMSXSAMMSSSMSSXMAMXSAMXMSMSAMMMMAASXMAMSAMXMAMXAMAMMMSAAMXSXMAXMMMSAXSMMMAMAXM
MAXAAAXSAXAXSSMMMSXXMXMAMXMXSAMXAMSMMSMSAMXAXXAASMSAMAMXAAMXXXMSAASMSAAAMAAXMSASASASAXAXMXSXSSMMMMMAXMMMMMASMXMXMASMMMMAXAMMMSAMXMSXAMXAMSXS
MSXMMMMMMSMMMXMSSMXSAMMSMAXSXAASXMASAAXXASMMXSAMMASXSASMMMMMSMSAMMMSAXMXMXMAXSASASASXXXMAAAMXAMSSXSXSAAAXSASXAMASXSMSSMMMXMAAXASXMAXSMSMSMAA
SMAMASXXAAAAXAAXAAMMAMAXSMXSAMXXXSASMMSXMMAMAMMAMAMASASASXSXAMXAXAXAMMXMAMXMAMAMXMAMAXSSMSSMSAMXSAXXXXSSMMASMMSASXMXAAAAMSAMMSMMMMAXMAAXAMMM
MXMMASMXSMSXSASXMMMSXMAMAMASXMMMXMAXMXSAMSAMAXAASXSMMAMXAAXMMMAMXMXSXMAMAMAMMXASAMAMXMMAAAMMSAMXMXMASMXMAMAMXXAXXAMMSMMMMAAXXAXAAMMSMSMSMSMS
SMAMASMAMMMMMAMXXMMSXMMSSMASAAAMAMSMMASAASASXSSMSAAXMXMXMAMAASAMMSAMXSASASXSXMASASXXMAXMMMSAXXXASXAAAMASXMMSAMXSSMMAMXSASXMMSSSSXSAAXAMAAAAM
AMAMSXMAMAAAMMMMMSMMAMAAMMXSMSXMXSAAMASAMSAMAAMXMAMAXXMSXAASXSASAMASMSXSASAMAMASMMAAAMMXAAMAXMMXMASXXMASXXXSASAMAMMMMASAMAMXXAAAAXXMMXXMSMSM
MXMXAMSSSSSMSAXAAAAAAMMMSMXMMMMSMSMSMXXXAMXMMMXXMAXAAMAMSMXAAMXMXSAMXXMMAMASXMASAMMMMMAAMMSSXXAXSXXMXMASMMMSAMXSMSMXMXMSMMXSMMMMMMMSASXMMAMX
XASXSXSAMMAMXAMMSSXMXXXXSXAXAAXAASAMMMMMMSSXXXMSSMMSMAAXAXMMXMASXSMSMMASMSAMAMXXAMSXSAXXXXAMMSSMSASMAMASXAAMXMASXAMAMMAXMSAXAXAMXAAMMSAAXMAX
MXSAAXMAMMSMMXXMAMMMXMAMMSMSSMSASMAMMAMAMAMXMMAMAMXMMSSSMSXSASXSASAAXMAAAMMSSMSSSMSAXMASMMMSAMXAMAMXAMMMMSSMXMASXXMASMAMAMASXMMASMMAAMMMMXMS
XAMMMXSMMAAAMXAMAXSSMSXAXAMAAMXMXMXMXSMAMASASMMSAMSSMAXAXXAXASAMMMSMXMMSXSXMAAMAMAMXMXMMAASAMMMSMAMSXSAMXMAAAMMSXXSASMXMXMXMMASAXASMXMMXAAMA
MAMXXMMAMAXAMSXMASAAAMSXMASMMMAMMSMMXMMAMMXASAAMMMAAMASXSMSMAMAMAAMMXXAMMSASMMMXMXMAAAMSSMSAMXAXXXMAASMMAXMMMXAXAMXASAMMXMXAAAMMSXAASXSXSSXM
MMSXMASAMSSSXXXMMAXMMMSMSMMAMSXSAAASAMSMSAMSMMMSMMSXMMMMAAAMXMSSMXSASMXMXSAMXSXSMSSMMXMAXMMMMSSSMMMMMMASMMSAASMSSXSAXAAMASXSMXSAMXMMMXAAXXMX
XAAAMXXXXMAMXXXXMASXSXMAAXMXMAAMXMXMAMAAMMMXAXAXXXMAXAAAMSMSSXMAXAXXMMMSMMXMSAAAAAAMASMMSSXSXXAAXXAXASAMXASMXMAAAASAMSSSMSAMXMMXSAXXSMSMMAAS
MSSSMSSMMMXMSAMXMASXAAMSMSSSMSSMSXASXMSSSMSSSMSSXAXXSSMMXMAAMMSAMXSMAXAAXSMXXMSMMMXMAXASXXAAMMXMMMXSAMMSMXSXAMSMMMMSMAAAXSAMSXMASXSAAAMXMXMX
XXAMAAAMASAAXXMMSAMXSSMMXAAMAMAMXMMSAAAAAXAAXAXXXMAXXXASMMMMXXXMXMAXAAMXSMXMMMXAXMSMSSXMMMSMXSAAAAXMXMAAMXSXAXXMASXMMSSSMSAMXXMXSAMMMMMASXMM
MMMMMMMSAXMSMMMAMAXAMMAXMMSMXMXSAMXSMMMSMMMSMMMMMMSXAXXAXMXSXMXMSMSAMXSSMMAMMXSSXMAMMAMXMAXXASMSMSMMXMSMSAXXMMSMASMXAXAAMXAMXSMAMXMAMAMMSAAA
XAXMXXMMMXAAAAMSSSMMSSSMAMXASMXMMXMXMAXAXSXMXXAXAAMMMMAMXXAMAMAMAAXMAMMAXSAMXXMAASXSMMMSMXMMAMXMAXMSMAMAMMSMSAAMXXAMMMSMMXSMSMMASMXXMXAAMAMX
SMMSAMXAMSSMMMSAAXAMXAAXMMMXAMAAMMSAMAMAMSAMAAXSMXSAAMSXSMASAMAMMXMXMASAMSASXMMSMMAAAASXXMASMMMMMSASMXMAMXXAASXXMXXXXAXXSAMXSAMASXAMMMMSSSSM
AMAAASMMMAMAAXMMXMSMSXMXSXAXAMSSMASAMSMSASAMMMMMMXMXXSMAMMMMAXXSMMSAXAMAMMAMMAAMAMXMMMSAXMXMAAXSXMASMSSSSXMSMMXASMXMMMSAMXMMSAMASMXSAAAXMAAM
MSSSMSASMAXMMMXSXAAXAAXXAAMMSXMAMASMMXAAASAMAAAASXMSMSMXMASMSMMSAAAMMSSXMMMMMXMSXSASAXMAMSASMXMAAMAMAAAXAXMMXMMAMAASXMMXMXMXXAMMSAASMMMSMSMM
MAXXAMAMMMMSMSAASMMXSAMSMSXAMASXMXMMAMXMXMASMXSSMMAAASMASAMAMMXMMMXMAXMMMMSSXMXXMAAAXSAMXMASAXASMMSSMMSMMMAMAMMMSMXMAMAMXAASXSMAMXMXMMXXAMSM
MASXMMSMXMMSAAXMMMAXAAXAXAMAXAMASMSXSMSAMSAMXXMAMMXMXMAAMXSSXMXMAMAMSMMASAAXSXSAMMSMXMASXMMMMMAMAXMAMXXAXMAMAXAMMXASAMASASMSAMMAXAXAMSMMMMAS
MSMXXAXAMXAMXMMMASMMSSMMAMSSMASAMXXMASAAMMMMMMMAMXSSSSMMSMAMASMXSMXXMASASMSMMMMAMMAXMSAMASMAMMXMXSXSXSASMSMSMSXSMMMMAMXXAXXMAMXSSMSMSAMAMSAS
SAMXMXXAMMMXMAAXAXAMAXXXAXAASAMAMXASXMMXMASMSMSMMMMMAAXXXAASAMXAXAMXSAMAMMAAASXSMSMMXMMSAMMSMAASXMMXAXAXAXAAAXMSASXSSMSMSMASMMMAAAAXSMMAXMAS
SMSXMAXAMAMASASMSSMMSSMSMSSMMMSAMXXMXMASMMMAAAAMMAAMMMMMSMXMASMXSMSXMAMAMSSSMXAXASXMASAMXSAMMSASAMAMSMMMMMSMSMAXAMMMMAMAAXAMXAXSMMMXMAXMXMXM
SAAMXMASMMSASAXAMXXXAMXMXMAXXMMAMMMMMSASAMMMMXMSSMXSAAAXAMSSMMMXAASMMAMAXAMXXMXMASAXSXMXXMASMXXSAMMAXAMXXAXMXXSMMMMAMAMSMSMMSSMMSSMXXMASMMMM
MAMAXMXMAXMMMAMAMMMMMSAMASXMMSSMMAMAAMASAMSMXXXXXXASXMASMSMAXAXMMXMAMSSSSSXAXMMMXMAXXAMAMMXMAMASXMXSSSMMMMSXSAMXMASXSMXAAAAMAAAAAXXMSXAMAXMM
SXMXXMAMMMAMMSMAXAMAXSASAXAAXAAASASMMSASMMMMMMSAMMXMXSAMXAXMMXSXXAMAMXAAAAMMSMAXXXXSMSMAAAAMAMAMXMXMAMXMASMAMAMXSASMAMSMSMSMSSMMSSMAXMXSAMXM
SAXMASXSXSSMAXMXSSSMXSMMMXSMMMSMXAMAXMXMAASAAAMAMMMSMMMSSXSXXXMXSMSASMMMMMMAAXMSSMASXASMMXSSMSSMMSSMAMXMSMMAMMMMMASXMASAMAAAXXMAXMASMXMXMASX
SAMSAMXXAMAMXSMMXMAMMXXASMMXSMMXMXSMXAMSXMSMMMSAMXAMMASAXXSAMXAAMMMMSXXXAAMXSSMAAMAMXMMSSXMMAAMXMAAXAMSMAXXMXXAXMXMXMSMAMSMSMSMSSSSXAAMSASXM
MMMMAXAMSXSMAMAMXXAXXAMASAMMSASXSAAXMAXSAXXMXMMMSMSSSXMASMSAMMMMMAAMXXMSSSSMAMMSMMSSXAAAMAAMMMXXMASXMSXXAXMSSSMSSXMXXXXSMXAXAXMAMXAMSMSSXMAX
SASMSMSMMAAMXMAMMSMXXAMASAMMMAMAMMXMASAMXMASXAAAAXXAMXMXMASXSXSSSSSSXAXXXAAMMSAAXSAMXMMSSMMXXMMMAAXMXSMSSSMAAAMAMAMSMSXXMMSMMMMSSMMMXMAMASXM
SASAXAXAMXMAXSAAAAMSMSSXSXMAMAMSMSMXXAMXSMASXSMSXMSASXSAMMMAMMMAXMAMMMMMMSMMSMMSXMASAMXAXAMSMAAXAAXMASAAAAMMSMMAXXXSAMMSXMXASMMASAAAXMAMMAMX
MAMMMXMXMXXAMSSMMXSAAMSAXXSSSMSAAAXXMXMASMMXXXXXXXXAMAXXMAXAMXMMMMAMASAAMAMMMAMMMSXMAMMMXSMAXSASXMXMASMMXMMXAXMMSMMMAMAMAMSAMXMAXXMMMMMSMSSS
MAMXMXXAMMAXXMXSAMSMSMMMMAMMAXSMSMSXMAMMSASMMSXSASMAMAMSSMSXSXMXAXMSSXMXXASAMMMAASMSXMAMXAXXXMXAAMMSXSMXAAXSMMAMAMASXMMSAMSASAMXSSSSXSMAMAMM
SAXSAMMMAAAMMMAXMAXAXXSASXSSXMXXXXMAXSSXSAMAXMAMAMSMMXSAAMSASAAXSSMMMAAMSMMXSAMMMSAMXSASMSAMXSMMAMAXXXAMSMMASMASASMXSAASAMXAMXSXAAAMAXSAMASA
XMAXAMAMXXSAAMSSMSMAMXXASAAXMASMSMMMSASAMXXXMMAMXMAMSMMXSAMMSAMAMXMMSXMXAMMMSXSMMMXMASASAMSXAMXASMXSMMXMAASAMSAMXMMMMMMSAMMSMASMMMMMMMSXSASX
MXSXMMSMSAAXSAAXXXMAMSMMMMMMXXAAXAASAMXMMSSXSSMSXSAXMAMAMAMXXAMAMASASMMSXSAMXAMAXXMSASAMXXMMMMSSMAASXMASXMMMXMXSMAMAAMXMAMXAMASXAASAMASMMAXM
SMMAXSAAMAMMMMSSMXMAXSMMASASASMMMSMSAMXSAAAAMMMSXMMMMAMXMAMMSXSASAMXXAXAAXMASMSAMXAXAMMMXMXAAASAMMMXAXAXMSSMSMMMAAXXSXMMMMSAMXMMSASAMASAXSMM
MASXMMMMSAMXXAAAMSMSXMASASMSASXAAXXSAMAMMSMMMMAMAMASMMMSAAMAMAMXMMSMMSMMSMXMAAMAMMMMSMSAXAXSSMMMMMMSSMSSMAXMAMAMMMSAAXSASXSXXAXAMMSAMXXXAMAX
MAMMMXAAXXSXAMXMAXAMMAXMXSASAMMMSSXSAMXSAMASAMASAMASAAAMXMMASAXXMASAAAAMXXAMMSMAXAMAAAMMXXMAAXSXSSXAXAXAMMSSMMASAAMMSMSASAMAXSSSMASXSAMASXMM
MAMAMSMSSMMMMXSMMMMMAXAXXMXMAMXAMXASMXMMMSXMASASXSASXMMSAMSXSMXXMAXMMMSXXSXMAMMXSSSSMSMSAMMSMMAAXXMSSMSSMXMAXSAMAMXAXXMXMAMXMXAMMMSAAMAAAAAM
SMSMXAAAXAXMSAXASAMASXXXASASMMMMXMXMMAAMAXXAMXASMMASMMASAMAMXAASMMSXAMXMAMAMMSXMXXAXMAAMASAXXXMMMSXAAMAMXAMXMASMSXMASMMASXMSMMAMMXMMMMMAXXMM
AAAMMMMMXXMASASXMSMAXMMMMXMMMXMAAMMSSSSSXAMMXMXSAMAMASASMMMMMMXXAASMSXASXSAMMAMMMMXMSSXSAMXSMMXAAXMSSMMSSMSMMMAMXAMMMASASMAAMMMSMAMASAMXMSMX
MMMXSSSSXMSASMSAAXMAMXAAAASMSMMSXSAMAMAAXMMAXSMSXMMSMMASAXMASMMMMMMAXSMMAXMMMXAAAMAXXAAAMXXMASXMASAMXMAMAMAAAAAXMXMMMXMMMMXMSAXAXASMSMMMSAAX
MASXSAASAAMASASMMMXMASASMMSAAAXAAXMMAMXMMMASXSAMMSXXMMMMMXMASAASMSMSMAMMMMSAMMSSSSSSMMSMMSMSXMAXAAMMAMSMAXMMMMMMXAMAXXSMSMSMSASMSMMAMXSMXMAS
SASXMMMMMMMSMAMXMAAXXSAXAAMMMMMMSMSSSMSMSXAMAMAMAMMMSASASMMASMMMAAXAXMMXMASASAAAMAAAAAAXXAAXXMXMMSSSXMAXAMMMSSMMSMSMSXMAAAAMXMAMSMSXSASASXSA
MXSXMASAAXXAMXMAMSMSAMASMMMAXXMSAMMAMMXAAMXSAMMMMMAXMAMMXAXMMXMMSMSMSXAAMXSAMMSSMSMSMSSSSMSMXSAXXAXAASMSMXXAAAXXAAAASAMSMSMSMMMAMAAAMASAMSXM
MMMASAMSXSMMMASAXAAAAMXMXXXMMSMSAXMAMXMAMSXXAMXAXSSSMSMSSSMMASMAXXAXAMSMMXMMXXMAAXAAAXXAMXMMAMXSMMSMMMMAMXXMSSMSMSMSMAMMAXAAXSMMMSMXMAMAMMSX
SASXMAMXMXAXSASMSMMSMMMSMMSXSMXSAMSSSSMSXXAXSXSXXAMXXXAXAMAMAMMASXMSMMASXMMMSMMMAMSMSMMMMAMXMASAXXAMSXSASMSMXAASAMMMXXMMXMSMXSAXAXXXMAXMMAMX
AXAMMSAXMSSMMASAMXAAAAAAAMAXAAXXSAAAAXAXSMMMMAMMSMXSAMXMXMAMASMXSAAAMMASXAXAAAMXXXMAMASXMMSAXMMSXMXSAASAMAAXAMMMSMAAXMAXAAXMASXMASXSSMSXMAXX
MXMXAMAAXMAAMAMMMMSSSMSSSXMSMSMMMMMSMMSMXMMAMXSAMXAAMASMMMSSMSMAXXMMSMAMMSMSSSMMXSXASAMAXASAXSAMMASXMXMSMSMSMSAXMSMMMAAMSSMMAXXXXMAMAAAXSSMA
AXXMXSXMXAMMMMSAMXMAXAXAMMXAAAAXAMMMXSAMXMMXSMMMSMXSAMAAAAXAMXMMSMAAXMAMMXAMXAAAASMMMMSAMMSAAMAMASAXXAAAMXMXMAMSAAMASXXXXAAMMXXAXMMMMMMMSAMX
XSAMXMXSXSXAXMSASMSSMMSAXAMMMMMXAMAXXXMSMSAAXAXASXAAASMMMMXAMXAXAXXXXSXSXSXXSSMMXXAXAAXAXXMXMXMMSMXXMMSMSAAXASMXXMSMSAMSSSMMSAMSMMMMXMXMSSMX
SMMSSMAMAAMXSAMXMMAAMAMAMSSSSSMSMSMSMMXSMMMSSMMMSMMSMMXXXXSMSSSXXMMSAMXMAMAMMMMMMMSMMSSMMXAXMSSMAMMXMAMXSXMMXMASMXSAMAMAAAAAMAMMAAAXAXMXMMSM
XAAAAMXXSAAAMAXSXMSMMSMMMAAMASAAMAMSMMAXAAAMAXAXXAXXXXXSMMAAAAMSSXAASAAMAMMMAAMAXXAAXMAMMMMMXAAMAMSAMMSMMAMXAXSAMAXAMXMMSMMSSSMSSMSSMXSAAMAM
MMMSXMAMMMSMMAMMAXAXAMAMMMSMAMMMSAMMAMXSSMSXXXXXXMSXMAXAASMMMSMAMMSMASXSASAMXMSASMSSMMMAXAAAMXSMXMSASMAXXAMSAXXAMSMSXSMAXMXMAMXMXMAMAASMXMAX
SXMXXMASAAXXMASXMMSMMMMMMSAMASMXSXMSAMMMMAMXSMSSSMAMAMSXMMAMAXMASAAXMMMAAMMMSAMASAXMXAASXSSSXXAXXXSAMMASMSXMXXXAMAAXAAMMXSAMAMMMSMMSMMXXSSSS
AMSAMXMSMSXXAAXAMMAASMMAMXASASMAMAMMXMAMMSMMAAAAXXAASXMMMMXMSXSASXMAXMAMXMAXMAMXMXMMMSSMAMAAXSSMMXMASMXSXMASMMSMMMSMXMAAASASMMMAMXXSXSXMMAAX
MSXSXSXMAAXSMSSSMMSAMXMASMXMAMMAMAAMXSAXXAAMMMMMMSMSASXXSAXAAXXXMAMMMMMSMMSMSAMXMXSXAXAMXMMMMMAAAXXMAMAMMSMMXAAASXMMSMMMXSXMAAMXMSXMASMXMMMM
XSAMXMAMSMMMAXAMXXAAXXXASMSMSMMXXMSAAXMXSXMMXAAMXMMAAXMASMSMXXMXSAMXAMASAXAAXXSXSASMMSMMXMASASMMMMSMSMMSAAMMMASXMAXAMXASMMMSMAXSAMMMAMMSMSXA
XMASAMAMAASMMMSSMXMSMSMASAAAMMSSXAXMMMXMSAASMMXSMAXMXMAAXMAMMSAXMAXMAMASAMMSMAXAXAMAXSXMXMXSXMAXMASAMXSMMSSXAMMAMXMMMMXSAAMMSAXMAMXMASXAAAMS
MSASXSSMSAMAAAAAASAAAMMMMXMSMAAXMMMXASMASXMMAMASMMMMSASMMMASMASASASXSMXXAMAAMXMSMXMAMSAXMSAMXSSMMXMMMSXAMMMXSMXSMXSXASMSMMSMMSMSAMXSASMMSMMA
MMASAXAAXSMSMSMSAMXMSMMAMSMXMMMSAMXSASMAMAMXXMASAXAAAAMAXSAAAMMMSAMAAAXSMMXSXAAXAXSXMMSMAMXSXAMASAMAMXMMMASMAMAXAAXXMMASXMXMAMMSASAMASAMMXSM
XMAMXMMSMXXAAXXMASXXXMSMXAAMMAMXAXAAAMMMSAMSMMXSMMMXSSSXMASMXXAAMAMSMMMSAXAMAMMMMMSAMXMMMSAXMMSAMXMAMXMXSAXMAMSSMSSMMMAMASAMXSASMMAAASAMXAAX
SMASAAAAXXXMSMXMAMMXMAAMXSSSSSSSSMSMXMAMMXSAASAMXXMXMAXXAMXXXXMXSXMXASASAMSXMMAAAXMAMASAMXMXXAMASAAMSASXMASMMSAAXAAXXMMSXMASAMXSXSXMXSMMMSMX
XSASXSMSXSXMAXAMSMMASXMSAAAAAAAXMAMXSSMSAXMMSMMSMXMAMSMMSAMXMASAMXMXAMASAMMAASXSSSSMMXSMMMMSMMSAMXXSAMXAXASXMAMXMSSMMSAXXXAMXSXSAMAAAMASAAXA
MMMMAMXMAMXSXMXMXASAXXAMXSMMSMSMXMMMAXMMMSXXAAXXMAMMXAASAMXXMAXAMXSMAMAMXMMAMSAAAAMMMAMAAAAAAXAXMAMAAASXMXXAMXAXMAAXAXASMSSXXXMMAMMMMSAMMSSX
SSXSASAMAMAMXSMASAMASMSMXXXXXAMASMSMMSASAXMSSSMSSSSSXSMMMSMMMSMXAAAMXMXSXMASXMMMMMMAXXSSSSSSSMSMMASXMMSASXSMMMAXMXSMXSXMAAAASMSSXXXSAMASMMXX
SAAXAAMMXMASXAAAMAMXAAAXMMSSMXMSXXAAXAASMAMAXAMAAMAMAMXMAAXMAMXSMASXSAMXASAMXXAXMASASAAXAMAAAXAASASMSAXXMMAMXXMAMSAAXMMMMMMMAAXXMSSMXMAMXAMX
MMMMSMMASXMMMXSXSXMXMSMMAAAMAMXMASMMMMXMXXMAXMMMMMAMASAMSSSMAMAMXXXXMAMSMMSSMXSASASAMMSMMSMSMMSMMASAMMSMMXMSSMMAXMASXMXSAAXSMSMAXMAMAMSSMASM
SAMMXAMSMAMSMMMMMMMAMAMXMAMXXMAXXMMSSXSSSSXSSXXMXSXSASAMMAMMSMSMAAMMMSMAMAMMMMAMXAMXMAXMAXMAXAXXMMMXMAAXAAAAAAMXSASAXAASXXMXXMXMMXAMAMMAMAAX
SASXSAMMSAMAAAASAAMAMXSAMSMSMSXSAMXAXMXAAAAXAMXSAXAMXSXMMAMAMAMAXSAAAAMAXAXAAXMMMSMMMSMMMSXXMASAMXSAMSMSSSSSSMMAMXMAMMMSAMXSAMMSASMSSMSSMMSA
SAMXSAMAMMSMSSMSMSSSSSMXSAAAASMMAMMMSSMMMMXMAMSMASMMMMMMSMMAMXMAMMXXMMXSSSSSXSASAAAMAMASXMMXXXSAMXSAXMXXAXMAMAMXSAMAMXMXXASAMXAAXAAAXXMMMMXM
MAMMSMMMSMMXAAAMAAAASMAXSMSMSXAMAXAMAXXSXXAMAMXAMMMXAAAAAXMAMAMSMXSMMSMMAXAAAMAMXXXMXMAMAASMSXSAMASXMMXMMMSASMXAXASASMSAMMXMMMSSMMMMSAMAAMAX
SAMMMMAXAXXMSMMMMMSMMMMMSAMXXXMSXSXMASMAMSXSXXXMMAXSSSXSMSMSSXSAMXXAAAAMSMMMMMSMSSSMSMASMSMMXASMMAMAMXSAXAMXSAXSSXMXSAMAMXAAXAAXXXAXMAXSSSSS
SMXMASXSMSAXAAAMAAXXXXAXXXAMXAXAXAXMAXXAMMMAXSSMSXMXAMXAXMAMMXSASMSSMSMMAAAXXAMAXXAAXSXMMAAMMMMXMAXAMMXSMSXMMMMAAXMMXMSSMSSSMMSSXMASMAMXAMAS
XMASXSXXMAMSSSMSMSSMXSMXSAMXMMSMXSAMMXMXAAXAMMAAAXMMAMSMMMAMMMSAMMAAAXMSSSMSMAMXMSMMMAMXSSXMAAXXSSSXSAMMMMAAAMMMMSMAXXAAMAAMXXAMMXMXMMXSAMAM
SSMSAXMAMAXAXAMMAAXXAMAAMAAMAXXAAXAMXASMSXMSXSMMMXMMMMXMASASXASAMMMMMMAAAAAXXAAAXAMXAMAMMAASXSSMAAXMMMAAASXMMXXXASMSSMSSMMSMXMSMMASMSAAAXMAM
MXAMXMAMSSSMSSMMXMMMSSMMSASMSMMMMSAMMMSAAAAXASXMXAMASMASXSXSMMSAMXMXMMMMSMMMSXSMSAMXSXSSMSMMAAMMSMSMSSMMXMAMSMSMXSAMSXAAXXAMSMXASASAMMSMXSAS
XMXSMXSAMXAXAXAAXMMAAAXMAMXXAAXSASAMMXMAMAAMXMAMSMSAMSXSMSAXAMSMMASAAMXMAAAAMMMXSAMSXAAMAAAMMMMAAXMAASASMSSMAMAMXMAMMMXXMSAMXASXMMSMXXXXXAAA
XAMAAXMAMSAMMSXMAXMSSMMMMXMSSSMMXMXMMXMSXMASMSAMXMMMXSMXASXSXMXAMASMMMAXMMMASMSASAMXMMMMSMSAMXMASMMMMSXSAAXXASAXAXAMXSSSXSSXMMMASXMXSXMMMMMM
AMAMSMSAMXXAXMMSAMXMAMMAXAMAAMMSAMAMXAXMXSAMASAMMXSSXSAMMMXMASXSMXSAXSASXMSAAAMXSAMXAMAMXAMAMXXAXAXMXSAMMMMXMSASMXSAMAAMAMAMSXMAMAMAXASAXAAX
MMAMXMASXMAMAMXSXAASAMSXSMSMSMAMAMASXMXMMMAMMMAXMAXMASXMAAAXMSAMXXMAMXAXAAMMMMMMSMMSSSMSMMMMSAMXSSMSAMAMXXSAMMXMAAAAAMMMXMMSMSMAMAMXSXMASASM
ASASXSAXMAMSASASMXMMMXXXAAAAAMSMSMXSASASAXMMMSXMMMSMAMASXMSSMMAMAMMSSMXMMMMSXMAAMAAAXAAXXMAXXASXMAAMAXMXMAXASASMMSMSXXXSMSXAAMXXMAMXMMSXXMAM
MSAXAMMAMAASMMAMAXSXSMSMSSMSMXMAMAMXASASMSMAAXMAAMAMMSXMXXAMXMMMXXAAXXAAXXXXASXSXMMSSMMMMSMSXSAMXMSMSSMSSSSXMASAAAAMMMMSAMSMSMASXMASMAXMMSXX
XMAMSMMAMMXXAMMMSMMAAAXAAXMAMAXAXXAMAMAMXAMMMSXSASMSXMAMMASMMASAMMMSSMSAMXMXMMMMAMXXMASMXAAXMAXXAXXAMXAAAAXMMXMMSMSMAAXMSMXXXMASAMASMSXXASMM
SMXMMASMSMXXXMXAMAMXMXMSMMXASMSSMMSAAMAMXAMXXAAXMMMSASXMAXAASAMASAAXAMXMSMSMMAAMAMMMMAMXXMSMMXSXAAMMMMMMMMMMXMAXAMXMSMMXMMMSXMMSMMASMXAMXSAS
XXSASMMAAASMSMMXSAMMSAMXXMMMSXSAAXMSMSXSMMMSAMMAXAAMXMASXMMXMASAMMSSSMAXAAAMSMMSAMSAMSSSMXXAMAMMMMAAAXAAXXMAAXMMMSSMMSMMXMASAMAMMMMSASXSASMM
SMMXMMMMMSMAASAASAMXAASAAAXAMXXMMMXAMXAXXAAXAAXXSMMSAMXMASXASMMMAXAAASASMSMMAAXSAMMASXAAXAXXMASAXXXSASXSSMMSXSAXSAAAAAXSSMASAMXSAASMAMAMASMX
XXMASXASXXMSMMMXSAMXSXMXXSMXSAXXMXSMSMXMMMSSSMAAMAXSAXASAASMMXMASAMSMMMSAXXSMSMSSMSXMMSMMMSXSMSMSXMXMMMAXXMAXSAMMSSMMXSAAMMSMMSSMSSMXMXMAMAS

89
2024/src/day04.clj Normal file
View File

@ -0,0 +1,89 @@
(ns day04
(:require [core :as c]
[input-manager :refer [get-input]]
[clojure.string :as str]))
(do
(def input
(->>
(get-input 4)
; "MMMSXXMASM
; MSAMXMSMSA
; AMXSXMAAMM
; MSAMASMSMX
; XMASAMXAMM
; XXAMMXXAMA
; SMSMSASXSS
; SAXAMASAAA
; MAMMMXMMMM
; MXMXAXMASX"
; (str/split-lines)
))
input)
(defn get-char [row col]
(get (get input row) col))
(defn get-count [row col]
(->> [(for [offset (range 4)]
(get-char row (+ col offset))) ;right
(for [offset (range 4)]
(get-char row (- col offset))) ;left
(for [offset (range 4)]
(get-char (+ row offset) col)) ;down
(for [offset (range 4)]
(get-char (- row offset) col)) ;up
(for [offset (range 4)]
(get-char (- row offset) (- col offset)))
(for [offset (range 4)]
(get-char (- row offset) (+ col offset)))
(for [offset (range 4)]
(get-char (+ row offset) (- col offset)))
(for [offset (range 4)]
(get-char (+ row offset) (+ col offset)))]
(filter #(= % (seq "XMAS")))
count))
;; part 1
(->> input
(map (partial map-indexed vector))
(map-indexed vector)
(reduce (fn [acc [row s]]
(reduce (fn [acc2 [col _c]]
(+ acc2 (get-count row col)))
acc
s))
0)
;
)
(defn get-count-2 [row col]
(if (= (get-char row col) \A)
(let [corners [[(dec row) (dec col)]
[(inc row) (dec col)]
[(dec row) (inc col)]
[(inc row) (inc col)]]
chars (mapv #(apply get-char %) corners)]
(if (and (= 2
(count (filter #(= % \S) chars))
(count (filter #(= % \M) chars)))
(not= (get chars 0)
(get chars 3)))
1
0))
0))
;; part 2
(->> input
(map reverse)
(map (partial map-indexed vector))
(map-indexed vector)
(reduce (fn [acc [row s]]
(reduce (fn [acc2 [col _c]]
(+ acc2 (get-count-2 row col)))
acc
s))
0)
;
)