solved 2024 day 4 part 1
This commit is contained in:
parent
10a0971346
commit
348a7c3cdb
140
2024/day4/input.text
Normal file
140
2024/day4/input.text
Normal file
@ -0,0 +1,140 @@
|
|||||||
|
XMMMSMMXMSXMXMAXSMMAXXXXSXXASXSASAMSXMAXAAMSMMMSXSAMXMMXMASMMMSXMXSAMXSASAMXXXXMMMMMMXMXSMXSMSMSMSXSSXSMSSMSAMMXXSAMXMXMXSMSMMASMXMAASMSMMMM
|
||||||
|
MSMXAASXMSASAAAXSASMSAMXMMMXAAMMMASMMXSXMXSAMAAMXSMMASXSSXMAAAAAMAMAXASAXMMSMMMXSAAASMMAMSAMASAAASXMAMAAAAXMAMAASAMSAMXMAAMAMAASMMMSXMAAMAAM
|
||||||
|
AAMMXXMXASAMXSSMSAMAXAMMSAXMMSMSSXMXSAXASXSASMXMAXASMMSAAASXMSSMMASMMMMMMAAAAXXAXMXMXAMAXMMSAMSMXMAXMXMMMSMSAMMXSAASASMMAXSASMMXAAAMMMSMSMXX
|
||||||
|
SSSSXASMMMSMAXXAMXMXMXMASXSAAAAXMXXXMASAMMSAMASMMSAMAXXMSMMMMAMASAXAAXASAMXSSMMMSMSSSMMSSMXMAXMMSSMMXMMAMAASXSXMSMMSAMXSAXAMMASXMMMSAXAAAASX
|
||||||
|
XAAMAMXAAAAMXMMMAAMAAAMMSXXMSSSMMSMAMAMAMAMXMAMAMAMMXMSXXMASMAXAMXSXMXMXXSAMAMAAAAAAXXAAAXXMMMMAAAAMMXSASMXMXMMMXMAMMMAMXSMAXAMAAMASXSMSXMAA
|
||||||
|
MMMMAXSMMSSMSXAASXSASXSMMASAAAAMAAAMMMSXMXMAMXSAMSASAMXAXSMMSSMMXMAXMSMMAMXMAASXMSMMMMXSAMSMSMMMSXXMAASXXXAXAAAMAMSSMMXSASXSMAXMMMAXAXAMMSMA
|
||||||
|
MXSSMMMSMMMAAMMMXAMXMXAAXAMMMSMMSMSXAXMAMAMASASASAASMAMSMSMAAMAXXMAXMAMMSSMSSXMMAXXXAAAXAASASMAAXASMMMSXMXMSMSMMASMXMAAMMSAXSAMSMMXSSMXMASXX
|
||||||
|
MAMAMMAAXSMSMSASXSAMMSSMMXSXAAXMAXAMXXSMMSSMMXMXMMMMMAXMAXMMSSMASMMXMASXAAAAMAMMSAMSMSMMMMMXMMMMMXMASAMXAMXMAAXSMXMASMMSAMAMMXXXASMAXMASXSSM
|
||||||
|
MXSSMMSMXSAAASASMMAMAAAAXXXAMMMMSASXMXAMAXAXXSMSXSMASMSMAMXMAAXAMASASAMMSMMMMXMAXAMXXXXAXMXMSXSXSXSXMASAMSSSXMXAAXAMXAXMXMMMSSMSAMMMMMMMAMAM
|
||||||
|
SMMMXMAMXXMMXMAMMSAMMSXMSMSMMXAAAMXAXSAMMMSMMMAAAXMAXAAMAMAMMSMXSAMMMASAXAXXXAMAMAMMMSSSMSAMSSMASAASMXMXMXMASXSMMSMMMSMAAXMAXAAMAXASAXXMASAM
|
||||||
|
AAAAXMMSASMXXMXMXSXSMXMASASAASMSSXMAMSXMAAAAAMMMMMMXSSMSASMSAMXXMXMXMAAMXSMSXSMMSXMAAXAAAXAMXAMAMAMMMAXAXXMMMXAXAAMAAAMSMMMMSMXMXSASAXMSASAS
|
||||||
|
SSMSXSAMXAAAXSSMAMXXAXMAMXMXXMAXXMMXMMSSMSSSSSXSMXSAAXAMMSAMXSAXAAMAMMSAMMASAMXMAXSASMMMMSSMSAMSSXMAXMSMSXXXXMSMSSSMSSXXASXXAMMMAMXMMMAMASMM
|
||||||
|
XMAXAMMMMMMMAXSMASXMMMMASXMXSMSMMMXAXSAXMAAXXAAXXAMMSMSMMMAMSSMSXMSSSMAXAMAMAMAMSXSAMXMAMAAXMAMMAASMMMAAMMMAXAAAXMXXXMASAMMSXSAASMSAAMXMAMXM
|
||||||
|
SMSMSMAASXMMXMMSMMAAAAMXMXMAMAAXAXSXMMAXMSSSSMSMMMSMMAMAASAMAMXSAXXAAXAMSMASXSXSXMMAMMMMMSSSSMSMMMMMASMSMSMASMMSMSMMSMXMXMAXXMASMAMXMXAMAXAX
|
||||||
|
AAXSXMSMXAXXAXXAMMSSMMSASAMASMMSXXAMXSMSAMAAXAAMAXAAXAMSMSASMMASXMMSSMXSXSXXAAXMASMMMXAAMAMXAAAAXAASXMXMASAASMAMMXMAXXXXSXMMAMSAMXMASXSSMMSS
|
||||||
|
MAMSXMAXSMMSXMSASAXAMASXSASASAXAMXXAMAAMXMMMMSMSSSSSMSAAMSAMXMASAMXAXMXMXMSMMMAXAMASASXMMAXSMMMSSSMSAMSMAXMASMAMXXMMMSAAXAAMSMAAXMMXSAMAXAAA
|
||||||
|
SMAMASAXAAAXMASAMMSAMXSASXMASMMSSMSSSMMMSXAAAMXXAAXAAXMSMMXSAMXXAXMSMMXMXMMMSAMMSSMMASAASXMMXMAAAMASAMXMXSMMXMAMSASAASMSMXMAMASMMASAMAMAMMXM
|
||||||
|
MXSXMMMXMMMSAMMXMXMMMAXXXMMMMAAXAASAXAXSXMSMSSSMMMMASXAAAXSXMMAXMMMAASMMAMAXASMAAAMMXMXMXAMXAMMSSMXSSMXSXMAAXXAMSAMMXMXXMMSAMAMSAMMASMMSSMSS
|
||||||
|
AAAXSASMXSXMMMMSMXMAMSMXMMAMMMMSMMMMSAMXAMXMAAAAAXAMXMSSSMMASMSSMAMSSMASASASMMMSSMMSMSSXSMMSMSAMXXXMAMXXASAMSMMXMXMXAXMAMXMASXXMSXSXMMAMAMAS
|
||||||
|
MXXMSAMAASXSAXAAMASMSAAAMSASXMAMMAMXSMSSXMAMXSSMMMSXXAAAAAMXMAAXMMMXMAXSMSXMXMAAAAMXMASXXAXAAMASMSSSMSMSAMXMMASXMMMSMSXAAAMXMMAMMMMXXMAAAMMS
|
||||||
|
MMSMMSMMMSASMMSXSAMXSMSMXAASXMAMSMSMXMAAASXSAXMAAAXAXSAMSSMSMXMXAMSAXMMSXXMSAMXXSMMAMMSMXAMXXSAMXAAAAAAMAMMMSAMAAMASXXXMXXMAXXSMAAMSSSSSSSXS
|
||||||
|
XAAMAMXASMAMXAAAMXSAMXMXMMXMMMSMXAAXAMSSMMASASXSSSMXMMAMXAAAMSMXXXMAXSAMXMASMMSMMASASXMASXXSAMAMMMSMMMMSAMSAMXMSMMMMMMAXASXXSAAXXXMAAXAXAAAX
|
||||||
|
MMXMAMAMXMAMXMAMXXAMXASMXXMAXAMXMSMSXMMAXMAMMMXXAAAASMMSSMMMMAMASMMMMMASXXAXMAMAMAMASAMXMXASXSAMMXAMAMMSASMXXSAXAMXAAXMAXSAASXMASXMMSMMMSMMM
|
||||||
|
MSSSXSAMXAMMAMSMSMMXMMSAASXSMMSAAAXMMMSMMMMSAAXSMSMMMAXAAAMSSMSAAMAAXSAMMMMMMMSAMAMXMMMSMMAMAXAXSXMSASAXMMASAMMSMMSSXSXSXMMMMAXAAAAAMAXXMAMX
|
||||||
|
AAAAMSMMSMMMSSMAMXMSASMMMSAMAXSXSMXMXAAAAXAMXSMSXMMXXSMSMMMAAXMMSSSSMMASXMSAXMAXSMSXMAXAASXMSMSXSAASMMMSAXASXMXAMMAMMSAXASXXMAMXSXMMSMMMSSMA
|
||||||
|
AMMMMXXAXXMAXAMXMSAMXXSAMXMSAMXAXXXXMMSSMSSMMXASAMXSXXAMASMSSMSAMXAXXSXMAAXMXMSXSXXAMSXSMMSAAAMASMMMMAASXMAMAXSXSMAMXMAXAMAMSXMAMMSAMAXAAAXM
|
||||||
|
SMMSXXMASXMSSMMAMAMMMASMXAXXMXMSMSMXSAAAMAXAXMXMMSAMXMMMASAMXXMAXSAMXMSMMMMSMAAASMSSMXXXAAMSMMMMMMSSMMMSAXXXMMXMMMSSXSMMMMMXAAMAMXMAXXMMSSMM
|
||||||
|
AMAMXXAMXAMXAXSXSAMAMXMASMMMMSMMXMAXMASMMSSMMMXSAMXSMSAMXSAMXXMAMXASMAAXAMAAMXMMMAXAAXAXMMMAXAAMXAAAXSXMXMMMSAXAAAAAASXSXAXSMXXASMXSMXAMAMXX
|
||||||
|
MMAXSASMSSMMMMAXMASXMSAAAAAAAAXMASXMMXMAAMXMAMAMASASASMSASAMXMSMSSMMMSMMMSSXSSXSMSMMSMSMSAMMSSSSSMSSMAAMXAXAAAXSMSMMMMAMMSMAAASMMMSXMMAAMMMM
|
||||||
|
XSASXAAAMMSAMXMMSMMMSSMMSSMMSXSSMSASXSMMMMMXMMAXAMXMAMAMXSAMXAAAXASAMXASMAMMMXAXAAXXAAXASMMXMAAAMAAMXXAMAMMASAMXAMASXMAMAMSMMMSXAXMAMMMMXAAA
|
||||||
|
MMSSMMMXMASMSASAAXAXXXXMAXMXMAMXASAMAMSMAAMXSMMSXSMMSMMMMMXMXSMMMAMXSSXAMXXMMAMMSMSMMSMMMMSMMMMSMMMMSXSASXXAXMXMXMASXMAMAMSXSXSMSMMAMASMSSSS
|
||||||
|
AXAMXSXSMAXXSAMSMMMSMSXSAMXAMAMAAMMMXMAXMXSASAAAAMAMAMXAASAMXXXSMSXXMASMAASXMMXAXAXXMXMSXMAMAMXMAMAXSAXAXSMSMMAMAMASASXSSSMAMAXAXSSMMMSAXAMX
|
||||||
|
SMXXMSASAMXAMAMMXMMAMXAAXAMXSAMXSXXAMSSSXAMASMMMSMASASXSXSASAXAXAMMSMXMXMSMMASMMSAMSMAMXASMSMSAMXMXSMAMAMMXMASASAMASAMAAXSMAMSMSMAXAASMXMAMA
|
||||||
|
AAMXMMMMAMSAMSMSAMSSMMMMMSAMXMSXXMMMXAAXMAMXMMMAMXAMMSAXAXAMAMSAAMASMXMXMXASAMXAMAAAMXMXMMXAAAMAMMSMMXMXMSASXMAMASMSAMMMMMSXSAMXMMMMMMAXSXMM
|
||||||
|
MXAAXAMXSXSAMMASMMAXXSXSAAXAASAMAMASMMSMAAXAAXMASMSSMMAMXMMXSSXMMMXMASXMMSXMASMSSXSMXSMSMAMMSMMAAXMXSXMASXASAMSMMAMSMMAXMAMXSAXXAXSMSMSMMMMM
|
||||||
|
XSSMMASXMASAMMAMAMMXXXASXMASXSASXSASAAAAMSSMSMSMSXXAMMMMXASAMMMSMMMMXMAAASASASMAMAMXAXAAAXMXAXMSSXSAMAMXSMMMMAXASMMSXSXSMXXASAMSAMXXAAAAMAAX
|
||||||
|
XAAASXMASASAMMSSSMXXMMXMAXAMXSAMXXASAMXSAMAMAAAMSMMXMAMXMAMXSAAAAAMAMSMMMSXMAXMASAMMSSSMSMMSMSMAXAMMSXSAMXXASAMAMXXSAMAMMMSMMMMASMSSMSMSSSSS
|
||||||
|
XMXMAMSAMAMXMAAMAAXSXSAXMMMMXMMSSMXMASAMMSAMMSMSXAXSSMSSMXMASMXSSXSAXXMSXMXMXMMMSXXAXMAXXAXAAXMAMMMXAXXMSSSXSAMSXSSMAMAMAAAMASMAMXMAMXAMXXAX
|
||||||
|
ASASMMMSMMMSMSMXMMMAASXSSXSXXXAAAMAMXMMSMMAXXMXSMMMAAMAMAAAXMSXMAMSMMAMMAMXMMMSAMXMSSSMMSMSSMMMSSXSMMMSAAAXMMXMMAMXMXMASMSSSSSMASASMMSSMSMSM
|
||||||
|
AXAMSASASASXAAXSXSMMASAMXAMXMMMSXSAMSAMXMSSMASAMAAAXMMXSSSSMAMSMAMSMSSMSAMXSAAMMMMAAAAXMAMXMAASXMASMAAAMMXMMMXMMMMAMASXXAXXXAXMASMMMAXXAXAXX
|
||||||
|
SMSMSMSASXMMMMMXASXXMXXAMAMMSXMXAAAXMAXXAAASAMMSSMMSXMAMAMXMAAAXAXMXAAXSXSAMMSSXSXMMMASMXMAXMMMAMSMMMSSMSMXSMAAAAXASAMMMSMMMMMMMMAAMSSSMMSMM
|
||||||
|
XAAASMMXMAMMMMAMSMAXMAXMSXMASXAXMASMMXSAMSXMSSXAXAAAAMMMSMXXMSSSSSMMMSMMSMMSAAMXMASXSMMAMSSSMSSXMAMMMAAAXXAASXMSSXAMAXSAMAAAAMASXMXSAAAASXMS
|
||||||
|
MMMMMAMXSMMSAMXMXAMXMASMXAMSMMMXSMXAXASMXXAAAMMASMMSXMMAMMMXAMAMXAMAXAASAMXMMXXAMAMXAAMSMAMMMAASXMSMASMMMMMXAXAAXMAMSMMASXSSXSMXAXMMMSMMMAMS
|
||||||
|
SASMSXMAMAASXSMSMXMAMXXXASMMXAXMMSSXMASAASXMMAAMXMMMMMMAXASXMMSMSSMSASMSAMMSMSSSSMMSAMMAMAXAMXSMSMAXMMAMMSXMMSAMSSSXXASXMAAXMMMSMMAXMAMASMMS
|
||||||
|
SASAMXMASMMXMMAAAMSMMSXXXMAXSXMXAAMAAASMMSXXXXMMAMAAAAMSMMMAMAXMAXAXMMMXAMAAAAXAAAAMASMXMSSMSXMAXSAXXXXMASXAMMAXXAXXXXMSMMMMXAAXXXXMSSSXMMAS
|
||||||
|
MAMAXASXSXSMSMSMSMAAAXMSAMXMSXMMMSSSMXMAXXXMMSXSASXSMXSAAXSSMXSAMMSMXAMSMMSMSMAMMMMMASAAAMAMSAMAMMMSSMAMAMSMMSSMMXMMMSAXMSMMMSXSMMSAAMXAXMAS
|
||||||
|
MASXMMAXMASAMAMAMXMMMMAAAMAMMASAMXAXXMSSMMSXAAXSASAMASMMSMAAAXMMXMAXMAMAAAXAAMSXXSSMAXMMMSAMSAMXSAMAAMAMMMXSAAAAMASAAMSMSASXAXAXAAAMMSSSMMXS
|
||||||
|
MASXMAAMMAMXMXMAMAXAAAMMXXSXSASAMMSMXXAAAAMMMMXMMMMMMMAAXMMMMMSXMXSSSSSSSMXSASXXMAXMMMXMASMMMAXXXAXMMSXMSASMMSSMSAMXMXXXSASMMSASMMSSXMAMXMAM
|
||||||
|
MAMAXAMXMXMXMXMAMAXSSSMXMXXASASXMAXMSMSSMASMXSXXMAMASMMMXMSMSAMASAXAAAXAAAXXXXMMSXXAMXMXMXMASMMMSXMSMSMASMMAAAMMMXSSMMMMMXMAXMAMAMXMAMMMAXAX
|
||||||
|
MSSMXASMXMSMAMSMSAXAMXAAAMMAMAMXMXXAAMXAXXMXAMXASMSXMAMSSMAAMXSAMMMMMMMSMMSXMAMXASMMSMSAMXSASMAMAXAAAMMAMXSSMSMAMXSXSAAXMASXMSMSASASAMASMSSS
|
||||||
|
MAAXSSMXAAAMAAAXXMAMMMSMSMMAMAMXXAMMMSSMMMAMXMAXAMXAMMMMASMXMMMASMXMAXXXXAXAXAMMASXAAMXAXAMMXXMAXXMMSMMMSAMXAAXAXXMAMSSMSASAMAMAAAXXASMSAAAX
|
||||||
|
MMSMMAASMSSSSSSSMSMSMAXXXXMAMAXMMMXSAAAAASXSASXSXXSAXSASMMSAMAMXMAAASMMMMSSMMMMMXMMMSSXSMMMXMSSMSMXMAXMAMAXMSMSSSMMSMAXXMASAMASMSMASMMXMMMSM
|
||||||
|
XXAAXMXMXMXAXAAXAAMAMMSMXSMSSXMAAASMMMSSMSASXXAMXMAAXSAMSAMXSSMMSMMMAAAAAAAASXMXAAAXAMAMASAASASAAAASMSAMXMAXMMXMAMAMMAMMAMXXSXMXAAAXAAXXAAXX
|
||||||
|
SSMSXXAXAAMMMMMMSMSXSASXAAAAAAXMMMSXAMMMMMMMXMAMSXMXMMAMMMSAMAAAXAXXMSMMSMSMMAASMMSMMSMSAMXMMAMSMSMSAMXXAAMSAMXSMMAMMAXXMXSAMXMSXMMSMSSXMSSX
|
||||||
|
AMXMXSSSSSSXAAMXMXMASASMSMMMSMXSAMXMAXAMXXAAXSAMXAXAMXAMAAMXSMMMMMSSXMXAAMAXMMMMMAAXMAMMXMXXMSMMXMAMAMMSSSMMMMMXXSSSSXSAAAMSAMXXSXAXAAAMSAMX
|
||||||
|
MSXMAAXAXAMXSMXAMASXMAMXXXMXMAASAMAMSSSSSSMSMMASMXMMXMAXMSMASXASMAAMASMSSXMMMAAMXSMSSMSMMMSAAMAMSMASAMMMAMXAAAAAAXMAMAAXMMXAMMMMSMAMXSMSMAMM
|
||||||
|
XMAMXMMMSMMMMSMXSXMAMMMMXMSMMAMSAMXSAXXAXMAXXSSMASMAMSAMSXMASXMMMMXXXMAMAASXSSMSAMXXAXXAAASMMMAMSXMSMSXSASMSSSSMSSXAMXMAMXXAXAAAXMXMAAXSMSXS
|
||||||
|
SSSMSXAXAAXXAMXMAMSAMXASAMMASXXXMASAMSMXMSAMMMAMAMMAXAMXAAMXXASXMSSSMMMMMMMAAAAXMAMSAMXMMXSXMMXMXAXXMAAMASAAMAXAAXMMXAXSSSMSSXSXMMAMASMMAXAA
|
||||||
|
XAMAMMSMMSMMSMMMSXMAMSAAMASAMMXMAMAMMAMAMMAAAMAMAXMXMAXXMSMXSSMMXAAAXXAAAXMMMMMMXAXMXMMSMXXMXASMSSMAMSSMSMMMMSMMMSASXMSMAAAAAXXAMMXSAMAMAMSM
|
||||||
|
MMMAMMAMXAMAAAAAMMMSAMMMXAMSSXXXMASXMASAMXASMSXXXSMMSSMSMAAMSXMXMSMMMSMSMSAAXMAAMSSSMSMAMMXSMMSXAAXXMAAMXMXAAMAMAMXMAMXMSMMMXASASAMMASMMMMAA
|
||||||
|
XSSMSMAXSAMXSSMXSAAAXXAXAAXAMMMSXMMASMSASMAMMMMMSAAMAMAAXMXMXAMMMXAAAXXAAMMMSMMMSAAMAAMMMMASAMMMSMMSXMASAMXMXXAMMXSSMMSMMXXXMMSAMXXSAMXMXAMS
|
||||||
|
MMAAXMAXMAMMXMASMMMSASMSXMMAXAAXMASAMAMAMMMMMAAXASMMAMSMXSAMSAMAAMSMMSXMSMSASAMSMMSMSMMSAMAXMMAAAAMXAXASXMAXSSMMMAXAXAAMMSSMAXMXSAXMXSASASXA
|
||||||
|
AMMXMASXSAMSAMXMAMAXXAXXASXSSMSSMAMSMXMMMMASMSSSMXSSSXXAAMAXAASMSMMAMXAAXMMASAMAAXMMXAAXSMSMMSXSMSSSSMXSASMXMASXSMMAMSMSAAAXSXAAMASMXSASMAMM
|
||||||
|
SASXMAMXMAASASXSMMAMSXSMXMAMMXMAMSAXMAXMASMSAAAXAXXXMAMMMSSMSMMAMMMMXSXMXSMAMASMSAMXXMXXMMXAAMAMAMAAMMMMAAXASAMXSAMXMXAMMSSMMMMMSMXMAXXXXMAX
|
||||||
|
AAXSMXMAMSMMXMXAAMMMMMMXAMXMMAMXMMAMSSMSXSMMMMSMMMMAMXMMXXAAXAMXMAASMMXMAMMXXXMMXXAXXXSASAXMMMAMAMMMMMSMSMXMMASXSAMSMMXMAMMXAAAXXMAXMMXSAXAM
|
||||||
|
MMMMSSMSMAAXMSXMSMMAMAXASMSSSMSAXMAMXXASAMXMAXAMSAMAMASXMSMMMXMASMMSAAAMMXSAXSAMXMMSMMXAMAXSXMASAMXMAAMAXXSSSMMASXMAMAXSXSASMXSXSSSXSAASAMSS
|
||||||
|
MSAMXMAXSMMMAXAXAAMXSMSMMAAMAMSXXXASAMXMAMAMMMXMMAXXSASAMXAAMXSXMMXSMMXSAAMAXSAMSAAMAAMXMAMMASMSAMMSMSMXMXAASXMAMMSXSMASAMMMMMMAMAMAMXMSAMAM
|
||||||
|
XSMSAMSMSMSSSSMSSSMAMAMXMMMXXMMMMSAMAXMXAMXMSAMXSMMXMMSXMMMMSASMSMXMMMAMMSMMMSAAMMMSSMSMMXXSAMMXAMAXMMMSXMSAMXAMMMMAAMAMXMMXSAMAMAMXMSMMAMMS
|
||||||
|
MXAMXMAAXAXAAXXMAMAASMMXMAMSMSXAAMAMMMXSASAAXMXMAXSAMASASXSMMAMMAMAAAMXSAMAMASMMSXMAMXXAAAMMMMSSMMSMXMASXAXASXMAMAMSMMMSMXSAMMSMMXMXAAXSXMXX
|
||||||
|
AMSMSSMSMSMMMMMMAMSAMAMMXAMAAMMMMSAMAAMSAMMSMMMMMASASMSAMAAXMSMSMXSSMSAMMSAMXSXAAMMASXXMMMSAMMXAAXAAXMAMMMSAMXMASMXXAMXMAAMASAAXSSMMSMXASMXM
|
||||||
|
SAAAAAAMAMXAAAXSAMMXSMMASXSMSMAXXSXSMSXMSSMMMMXAXMSAMXMXMSXMAMXAAAXMMMASXXAMXSMXSAMASMSMSMSAMAXAXSXSSMSSMAMXMAMMSMAMSMSXMASAMXXSAAXAAXAMMMAM
|
||||||
|
XSMXMMXMAMSMMSAAMSMAAMMMXAAAMXXXAMXMXXAMAXMAXMSMSXMASXAXXMASASMMMXSAMXAMMMSMAXAMXXMXMAAAAXSAMASMMSXAAXXAMSSSSXSMXMAMAXMASAMAMXXXMSMXSSMAAXAS
|
||||||
|
MXSXXMMSAMMASXMXMAMXSMSXSSMMMASMAMXXAMAMMSSMSXMAMMMSAMXXMSAMXSAAXAMXMMSXSAXMMMSMAMSSMSMSMMSAMAAAAXMSMMSSMXMASAAASXSSXSSXMXSAMSAMXXXAMAXSSSMS
|
||||||
|
SASMAMASMSXXMAXXSXSMAASAMXAXMASMAMMMMXAMXMAAXMMXMAXMASXMMMASASXMMXSMXMAAMAXAAAAMXMAAAAMAMAMMMMXMMMXAMXMMMAMMMSMSMAAMAXXASAMAXXAMMSMXMAMXAAAS
|
||||||
|
MAMMAMMMXAASXSMAMASMMMMMMSMMAAXMAXXAXXXXASMSMXSSSMMAXXMMASAMXXAXXMAXAMMSMMSXMSMXMSSMMMMAMXXSASXMAXXAXXMAMAMXAMXMMMMMXMXXMXSXMSAMAXMMMSMXSMMM
|
||||||
|
MAMSMSXSMSXSAAMXMAMAMSSMMAMXMSXMSMSASXXSXSMMMAXXAASMSMMSASAMSSMMXAMSMXAAAAAXXAMAAAXXMAMMSMMSASXMSSMMMXXAXAXMASAXAMXSAAXMSMXAXSXMMMAAAAAAXASM
|
||||||
|
MAMAASASAMAMXMASMSSSMAAXXXMSXMAAAAMAMAASAMXAMMMMSMMAAAMAASMMAAAXMSXMAMSSSMMSAASMMMMMMSXSAXAMXMASASAMXAXSSXMSAMASXMASMSAXAAMSMMASAMSMSSMXSAMX
|
||||||
|
SMSMSMAMXMAMXXXXAXMAMMMMMSMMASXMMSMMMMXMAMMSXSAXXXMXMXMMMMMMSSMMSAMASAXXAMXXMMMMSAAXAAXSAMSSMSMMASXMMXSAAXXMASXSAMASAMXXMSMAAAXMAMXAAMXXAMXM
|
||||||
|
SMMMAMXMAMXMXMXMMMMASMMSXSAMAMMAAXAXSSSMMSMMASXSMMSMSMSAXXXAXAMXXAMAMXMSMMMXXXAASMMXMXMMAMAMXAXAMMXSAXXMXMMXMAXXAMASASXSMAXXSMXSXMMMMSXMMSAS
|
||||||
|
MAXSASXMXMAMXAXAAXAAXMASASXMXXAMXSAMAAAMXSAMAMAMAAXAXASMSAMXSAMMSMMSMMXAMAMXMMMMMASASAMMAMAXMMSSSSXMMSMXMMXXMXMSMMMSXMAASXSXMMMMAMAAAXAMXSAS
|
||||||
|
SAMXMXMMASASXXSAMMMMMMMMAMXSMMSMXMXMMSMMAMAMSMMSMMSXMMMMSAXAMAMMAMMAASMSSXSAMXAXMXMAXASMSSMSAAAAMXMAAAMMMXAXMAMAASAMXMSMMMAXMAMSAAMSMSMMAMXM
|
||||||
|
MMSMMAMXAMAXAASASXXMXSXMXMAXAMXXAMAMAMAMASAMXSXAAXAMXMAMSAMSXSMSASMMXMAXXMMASMMSAMMSMXMAXAAMMMMMMAXSXMSAMAXXMXXAMXMASXMASMMAXAMXMSMAMMAMMSAM
|
||||||
|
XAAAMASMMSXMMMMAMMMSAMASXMSSSMSAMXASAXMXMSMSMASXSMAMMSAXMAMAAXASXSASMMSMAMSMMXAMXXAXMXSXMMMSSSSSSSXXAAXASMMSASMSXMSAXAMASMSASMSMAAMAXSASXSAS
|
||||||
|
MSSSMASXXAAMXSMAMAAMASAMAXMAXXMASMMMMSXMXMMAMMAMXMSMASMMSAMMSMAMMMAMMAMXXMAXXXMSSMMSMAMAMMXMAASXAXAMMMSMAAAMAMAXMAMMSSMAMXXAAMAASXMSXSASAMSM
|
||||||
|
MAAXMXMMMMMSAMMSXMMSXMASMMSAXMMXMMAAXMASAAXASXAXAMXMXSAMSXSAMXXXSMAMMXMASMSSSMAAAAAAMAXAMMMMMMMMAMXMXMAMMMMMXMAMMSMXAMMAXMMMMSSMXSAXAMAMMMAS
|
||||||
|
MMSMSAMXAAAMXMAXSMMMMXMMXAMXSMSMMSMMMMMSSSMMSMMXAMAMAXAMXAMASMMMASMSMXMAMAAAMAMMXMMXSSSMMXAAAAXMXMAMXXXSXMXAAMXMMMMMMMMSAAXXMAMXAAMMMMMMMSAS
|
||||||
|
AXMMXXSSMXSAAMXMAXSASAASMXSASAAAASXMXXAMAMAASAMXSSMSSSSMMXMXMAAAMMMAMMMAMSMSMSMSSSXMAXAXSSSSMXSXAMSXSXAMAMXSXXAASAMASAAXSSMSMSSMSXSASAXAXXAM
|
||||||
|
SAMXSMMASAXMASAMMMSASXSMMASAMXXSMMMMXSXSXSMMMAMAMAXAAXAASXMMMSSSXASASXSAXMAXXXAAAAMMMMMMMAMXAXXMXSAASMMMSSMXMMSXSASASMSMMXAMXAAXXMSASASMSMAM
|
||||||
|
XMAXAASAMMXAMXMMXMMAMXMAMAMAMAXMAMASXSAXAXMAXAMSMSMMSSSMMMAAAAMXMASMMASXSMAMSMMMSMAAXSMMMAMASMAXXMMMMAAAXAMXMMXASAMASXAMMMSMMSMMMMMXMXMAMXAM
|
||||||
|
MMMMMXMMSXXASAXXMAMAMXXAMXSAMXMXAMXSAMXMXMXMMXMXAXXXAAXXSSSMSMSAMXSXMAMMXMMSMSAMXXMXSAAASASAASXMASMSMXMSMXMSMAMMMXMAMXXXSAMMAXAXXMSSMSMSMMMS
|
||||||
|
AAAXXAAMXAASMMSXMASXSASMMMMXSAMSSMXMXMAXXMSMXSAMMMMMMSMXXAXAMXMXSASXMASXMASAMMSMAMASXXSMSMMAXMXAXXAAAASMXMAAMASXMASXMMXAMASMSSSMAXAAMAAXSXAX
|
||||||
|
XXMXSMSMMMMMAMXMSMSAMASXAMAAXXMAAXXSXMSMSAXAAXMXMAAAMXASMMMSMAMAMASMSAMMSMMMSAAXAMXXAXMXXAXMASMMMMMMSMSAAMSMSAMXSMSAMAXASAMAXAASAMSMMMMMMMMS
|
||||||
|
ASMMSXXASMMXAMAMAMMAMXMXSMMMSSMXXMMSAMMASXMMMSXSXMMSMXSXSAAAXXMASMXAXMAXAAAAMMMSMSSMMMMMSMMXASASXSMAMAMXMMMAMMMXSASAMMSXMASMMSMMXMAAAXAAMAMM
|
||||||
|
XXAAXAXXMAXSASXSASXSMXSAMXMSAMSAASAMAMMXMAMXMAAXXSAXMXMASMSSSSSMSASMSMSSSSMSSMXAMAAAMMAAAAXMMMMXAAMAMAMXSASMMXSAMXMMMAAXMAMXAXMSSMSMMSSSSMSS
|
||||||
|
SSMMMSMMSAMSASAXXXXAMAMAMXMMAAXSSMASXMMMXSMSMMSMAMMXAAMAMAMAMXAAXXMXAAAAXAXAAXAAMSSMAMSSSSSMASXMXMMMSMSAMXSAMMXMMXMAMMXMXAMXMMXAAMAXXAXMAXAM
|
||||||
|
XAAXAMAMAMAMAMMSSXSMMAMMMSXSXMAMXMMMMAMSAXASXAXMXMAMXXSAMXMAMSMMXXMXMMMSMMMSSMMSMXXXXXAAXAAMAMAXSXMXAMMASASMMSASAXMAMXASXSMSMSMSSMSMMMMSAMSS
|
||||||
|
SSMMMSSMMXSMSMSAAMSXSMSMAMASMSXMXXAAMAMSAMAMMXSAAMASMASMSMSSXXAMMXSAMXXAAAAMAAXAMXMMMMMMMSMMSSSMAASMMMSMMMSAXSASMXSASMAMAMAXAAAXAAAAAAXMAXAM
|
||||||
|
AAAXXAAAXMXAAXMMSMMAXAAMAMMMMMAMSSSMMAMMXMAMAMMXMSASMAMAAAXMAMAMMAMASMSASMMSSMMMMASAMAXAMXAAAAAMSMMAMXSAXXSXMMAMXMMASMXMAMMMMMSMMMMSMSSMSMMX
|
||||||
|
XSMSMSSMMSMSMSXSAAMXMSSMSASXXSAMMAAASXMMXMXXAAMAXMASMAMSMSXMXSXMMAMMMAMMMAAAAXMXSASMSAXSSSXMMMMMAAAMMAXMAMMSMMMMAXMMMMMMXSAMXAMXSMXXMXMXAAXA
|
||||||
|
MXASAMMAXXXMXMMMSSMXAXAAAMAAASXSSSMXMAASASXSXSXSXMAMXAXMXMASAAASXSSXMMSAMMMMSMAMMXSAMXXXAMXMAAXXMAMXMXSMMSAAXASXMSAMAMSMMSMSMMSAMXSXMASMSSMX
|
||||||
|
SMAMSMXAMSMSASAMAMXXXMMSMXMMMMAAAAXXMSMMAMXAXMAXSXXXMMXSASAMMSMMAAAXMMSASXXXXAMMSAMXMMXMAXSXMSSSMASMXXMASMXMMMMAXMMSAAAXXXMAXAMAMASAMAMAAAXX
|
||||||
|
XMSMXMMXMXAXAMSAMMMSXAXMASXXMMXMXMMSXMXMAMMXMMMMASXAMAASAMXSMXAMAMXMSASXMMXMMXSAMMSAMXASMXSAAAAMSAMXMAMXMAASMSSSMXMSMSMXAAMMSMXMMXSXMMSMSSMM
|
||||||
|
ASXAAXAASMSMSMXMAAAMSSMSSSXSXAXXXSASMXAXASMSMXXMAAMMMMMSAMXXMASMMSAMXXXMAMXAAMMMSASMSMASMASMMMSMMMMSXSAAMSMXXMAMXAAXAAXSSMMXAMAAXAMXAXAMAXAA
|
||||||
|
MMAXMSSMAAMAXAXXXMXMXMASAXAMXSAXSMASMSSSMSAAXMAMMSMXXMAMAMSMXAMXXMXMMXSMXMAXXXAXMASMAAAXMAMSMMAMAMSMAAMXMAMAXMMMSSSMSMXXAAXXAMSSMASXMMXMMSSX
|
||||||
|
MSAMXXMXMAMAMMMXSAMSMMSMXMMMAMMMMMMMAAXXMMXMMAAMAXMAMXMXAXSAMSSMSXAXSASMASMSSSXXMAMXXSMXMXXXMSAXAXAMXMMXSXSMXMAAXMAMXMXSXMMMSMAMMMAMXMAXXAMM
|
||||||
|
MMASXAXXXAMSSMAXMAMXASAMXMASMSAAXAXMMMSSMAXXAMXSAMXASAMMMMMAMAAAAMXMMAXSMMAMXAMMMMSMMAMXMSMAMSMSMSMMSXXMAAAMSSMXSSSMXMAMSMAAXAMXSSSSSSSSMXSA
|
||||||
|
XMSMMMMASAMXAMSXSAMSMMASXSASMMXMSXMASAAAMASMSMMMXSXMSASASMSSMSMMMAAMMSMAMMSMSAMSAXAAXAXAAXXMMMXAAAAXAAXSMSMAAAXAXAXAAMAXAXMASAXAASAAAAAXAASM
|
||||||
|
SMMAXXMXSASMMMMASMXMASMMAMASMSXXXAXAMMMSMASAAASXAMXAMXSASAAXMAAAMMXSAAXXMMMASAAXMSSSSMSMSMASXSSSSSSMMMMXXAXMSSMSMSASMSSSXSSXSXMXSMMMMMSMMASX
|
||||||
|
MASAMXMASAMXXAMXMXASMMASAMXMMXMASMMMSMSMMASMSAMMMSAMSMSMMMMMMSSMSSMMXSMMMSMMMMXAMXMXAAXMAMMAAAXAMXAXXAMAAMXMAMAAXMAXXAASXXMASASXMAMXXAXMAXSA
|
||||||
|
SAMASAMXSAMXSMMMXXMSASAMAMMMSXSAXAAAAMAAXXMXMAMAAMMXAAXAXASMMAXAAXXXAXMAMAMSASMXMASXMMMXAXXMMMMMAMSASASXMXMXAMMMXMXMMMMMSMMMMAMASAMSMMMMSMMM
|
||||||
|
MMSASASMSMSMXMSMMXXSAMMSSMAMSXMASMMSSSSSMSXXMAXMXSXSMSMXMMAMXAMMMSXMAXAASAMSASXASASXASASMSSXXMXXSAAASAXMMASMMSMAXXMSAAAAAMAAMMMXXXSXAAXAXAAX
|
||||||
|
SXMMSMMMSASMAMAAMAMMXMAAMXMXMXMAMXAXMAXAAXXAXMSSMSAMXXMASMSMSMMMXXAAMSSMSMXMMMMMMASXMMAXXAMSMMMMMMSAXMMAXAMXMAMMSXAAXSMSSSMSSSMMMMMMXMMXSMMS
|
||||||
|
AAXAXAASMAMSASXXMAAMMMMMMAMMMXSASMSMMSSMMMXMASAMXXASASMAMMAXAAAXMMASXAMMXXMASXAXMAMXMMSMMXMAXAAXMAMXASMXMSSMSASASMSMXMAMAXAXAXAASASXSMMMMXAA
|
||||||
|
SMMMMMMXMXMMMMXXSXXSAMXASXMSAAXXSAMXAMSAAXAMSMASXMMMASMSSSMSMMMSXMAXMXSAMXSAMSSXSMMASAAXSASXMSSSMXSXMMMXXMAMXXMAMXXXXSAMAMSMSMSMMAMAAMXAMMSS
|
||||||
|
MXMXXAAASASMSXSASAMXXXMAMMAMMSMMMMMMAXXXMSMSASXMMAXMSMAAXAMMMSMXAMAXASXXAXMAXAMMSAAAMXSASASAAMAXXXSXMAMMXMMSXMMAMMSAXMAMMXXAAAASMAMSMMMXSAAM
|
||||||
|
SAMXSMMSAMXSAAMMMMMXXMASXMMMAXXAAAAXMXSMMAMSASXASMMMMMMMXSAMSASXXMAXSXMASXXMMMXAMAMXSAMXMAMXMMAMXXMASXMMASASMXSASAXMASXMMAMXMMASMMXMASXAMMSS
|
||||||
|
SAMXSMMMXXXMMMMMAAMMXMAMSSXMXSMSSSMMSAAMSAXMAMMMMAMSASAAAAAMSASMXMSMMASAMASMSSMSSXSAMXSSMXMASMMMSMSAMAASASXSAMXAMMSMMAXXMASXMMMXAMAXAMMXSAAX
|
||||||
|
MXMAMAXAMXXSAMASXSSMAMXMASXSXSAMMXAAMMMMSXSMAMAMSAMSAXMMXXMMMAMAXMMAMAMAMXMAAXAAXMMXSASMMSSMAAAAXXAMAXXMAXAMXXXAXMAMXMAMXASAXXMSAMSMASAMXMAS
|
||||||
|
MAMSXMMSSMXXASASAAAXSMSMMMMSAMXMAMMMMMSXMMMMXXSMXXXMSMSSXSAMAMMMSASAMAXXAMXMMMMMSMXAMXMAAXAMSSMMSSSSSMXMXMSMAMXMMSXSAMMSMMSMSAASAAAXMAMXXMAM
|
||||||
|
SASMASAMAXASAMXSMSMAMASMMAAMXMXMAMAXAAXAXXMASXMMSMSAXXAAASMMASAXMASMMSXMAMMXXXAAAMMMSXSMMMXMXXXXAAMAXXAXXAAMXSAAXAAXXSASAXXAMMMMMMMXSAMXMMAM
|
||||||
|
MSXXXMAXSMMAMXXSMMXMMAMASMMSASAMXMSSMSSSMAMAMAAAAAMMMMMSMMASASXMSXSAAAXSAMXMMSMMSSMSAAAMAXSSSMSMMSMMMMMMMSXMASMSMMSMMXASMMMMSMSXSAAXSSMAXSAS
|
||||||
|
SXXAXSSMMXSXSXXMASMXMASAMAXSXMAMXXAAMAAAXXMMSSMMXSAMSAMAMXXMAMAMXASMMSMXAMXXAAAXXAMXMMMMAXXAAAXMXXAXAXXAXMMSMSXMMAMXXMXMAXXXAXMASXMMMXXAMXXX
|
||||||
|
AMXMMAMXMXMASMXMAMAMMAMMSMMMMXAMXMSSMMSMSMMMAXAXMMAMMAMASXMXMSAMMMMXXAAMSMSMSSSMMMMMMXXXMSMAMSMSAMXSMSSXSAASMMAMMAMAXAMSMMMXMXMXMMSSXMXSXMSM
|
||||||
|
MXAMMXMASXMAMAXMXXSXSAMMAXAXASMSSMMAAXMASXAMAMXMXSAMSSMASAXAXSMMSXMMSMSMXASAMAMAASAMXMMAXAAAXXAMASAAAAAASMMMASXMSSXMXMAAMASAMXSAMXXMASMXAMXA
|
||||||
|
XMSMMASAMAMXXSASMMMAMASXMSAAXAAAMXXMMMMAMMXMAXMAMXXXAAMAMMMMMXMAMASAMXAAMAMSMAMSMSAMSAMAXMSAMMASAMMSMXSMMSXSXMAMMXAXASMXSASXMASASMXSAMXSAMMS
|
||||||
|
MXAXSAMXSAMXXAMAAXSAMSMXASASXMMMMMMAAAAXMASMMSAAAAXMSSMMMXAXXAMMSMMASXMXMAMMMXMAASAMMAXXMXAMXSXMASAXXMMXMAXSMMXSASXMMSAAMXMAMASMMXAMAMAXAMAM
|
||||||
|
SMMMMASXSASMMSXSMMMAMXASMMAMXXMSASMSMSXAMXMAAXMXSXSAMXXMSSXSSMMAAASXMAASMXSAASMSMXXXSSMMMAASXSASMMMMSAMXMSMSAAAMXMAMXMMMMMSMXAXMSSSMXMSSSMSS
|
||||||
|
AAXAMXMASAMMAMAAAASMMMAMASXMXMMMASAMAMXXMAMMMSMMMASASASAAMXAMXAMXMMSAMSMSAMMXSAXAXSMMAAASMAMAMAMXAXAXSXMXXASXMXSASAMAMAAAXAMMMSMAMAAXSAAMXMS
|
||||||
|
SXMMSMMXMAMSSMSMSXXMASMSXMAMMAXMAMAMMMMMXAXAXXMASASXMAMMAMSSMMSMMAASXXAAMMMSXMMMMXXASXSMSXAMXMXSSSMMMXSMXMMMMMXSASAXXXXSSSSXSAAMASXMMMMSMAMM
|
||||||
|
MASXAXMAMAMXMAAMXMMSAMAMASXMAXMMSXMMSAMASMSMMMMXMXMAMXMSMMMAAAAMMMMMMSMSMAAXASMAXAMXMXAAXMXSXSMAAXAXAMASXXMAAMMMMMMSSSXAMAXAMSXSASAMXXXAXXMM
|
||||||
|
SAMXSMSAXASAMSMSASMMASXSXMAXSXSAMASMSAMMAAAXAAMASAXMMAXXXSMSMMXSAMASMXAAMMSSMMMSMXSAAMMMMMXMAXXMMSMMMSAMXMXSXSAXAXXAAMMSMMMSMXXMASXMASXMSSSS
|
||||||
|
MSMAMMSMSMMAMMASASASASAMXMMMMXMASMMASXMMMMMXXMSASXSMSSSMASAXXMAXXSASAMSMMSAMXAXAAMMMMSMSXSAMMMXAMXMAAMAMMAMAAMMSMSMMSMAXAAAASAMXXXXMSMSAAAAA
|
||||||
|
SAMASAXMAMASXSAMASAMXSASXMSAMAMMMAMMMASAMXSSMXMMSMAXAMAAASAMMMMSMMASMMMXMMSSXXXSSSMSXAMAASXSXAXAXAMMSSMXSSSMXMMAMAAMXMSSSMSSSSXMSMXMAAMMMMMM
|
||||||
|
AMMAMAMXMASMMMXMXMXMXXMXMASASXSSSMSXSMMAXAAAMXAAXAMMXMXXXMAMXAXAAMAMAAXSXAMMXSAAAXAMSSMMAMASASMMMMAAMAMMXAAXMAMXSSSMXAXMAMMAMXSAAAAXMMMAMAXM
|
||||||
|
SXMASAMXXMASAXAMXMASXXMAMASAMAAAMXMAXASMMMSMMMMMSSXMSMAMSMSMSAMMSMAMMMSAMMSAAMMMMMAMMMAXMMAMMMMXAAMXSAMAMXMMMSAMXXXAMXMSMMMAMAMSXMSSSSSXSMSS
|
||||||
|
XMAXAXSAAMAXSSSSXXMAMSMMMAMXMMMMMAMXMASAXXMASXXMXAAAAMAMAAXXXASAMMXASXSMXXMMMXSASXMMMSMMSMAMXAXXSSMMSMSSMMMAXAAXSSSSMSMXAAXAMXMMSAMAAASAMMAA
|
||||||
|
MSMMMXMASMXSAMXMXSXSASAASMSSSXSSSMSAMAXMMXMAXMSMMSMSXSAMXMMSXXAAAXXMXAXXMMASAASASXMSAAASAMMSSMSAAAAAMXAAASASMMSMAXAAAASMSMSAMXAAMXXAMXMXMMMS
|
||||||
|
AMASAAAAMXXMASXMAMAMASMMMAAAAAMAAAAAMAXSMSMSMMAAAXAXASASMSSXMMSMMSSMMMMMSAAMMXMXMAAMMSXSASAAMAMMSMMSSMSSMSAXMAMMMMSMMMAXXMAAMSMXSASXXMASXSXX
|
||||||
|
MAAMSAMXSXMSAMXMASAMAMAAMMMMMAMMSMSXMASXAAAAXSSMMMXMASAAAXMASAMAAAMXASAASMXMXASXSMMXMMMSAMMSMAMMMMXMAXMAAMAMMASAAAAAAXMXMASAMXAXMASXAXAASMAX
|
||||||
|
AMSXXXMXAMAMXMSAMXMSMSSSSMSAXSMMXXMASXAMMMMMMMASAMXXXMMMAMSAMMSMMSSSMSMXSSXMSXSMXSAXSXMMSMAAMXSAMXXSXMSMMMAMMMSXMSSSMSXSAMXAXXSXMSMMXMASAMXM
|
||||||
@ -1,39 +1,104 @@
|
|||||||
import sys
|
with open('input.text', 'r') as file:
|
||||||
|
|
||||||
with open('test.text', 'r') as file:
|
|
||||||
data: list[str] = file.readlines()
|
data: list[str] = file.readlines()
|
||||||
|
|
||||||
y_bound = len(data)
|
y_bound = len(data)
|
||||||
x_bound = len(data[0])
|
x_bound = len(data[0])
|
||||||
|
|
||||||
# Part 1
|
# Part 1
|
||||||
def search_all_directions(s: str, x: int, y: int):
|
class Vector:
|
||||||
print(s)
|
x: int
|
||||||
if s != 'X' and s != 'XM' and s != 'XMA' and s != 'XMAS':
|
y: int
|
||||||
return 0
|
|
||||||
|
|
||||||
if x < 0 or y < 0 or x >= x_bound or y >= y_bound:
|
def __init__(self, x: int, y: int):
|
||||||
return 0
|
self.x = x
|
||||||
|
self.y = y
|
||||||
# print(x, y)
|
|
||||||
if data[y][x] != s:
|
|
||||||
s = s + data[y][x]
|
|
||||||
print(s)
|
|
||||||
|
|
||||||
if s == 'XMAS':
|
def __add__(self, other):
|
||||||
return 1
|
return Vector(self.x + other.x, self.y + other.y)
|
||||||
|
|
||||||
return (search_all_directions(s, y, x - 1)
|
def __str__(self):
|
||||||
+ search_all_directions(s, y, x + 1)
|
return f'{self.x}, {self.y}'
|
||||||
+ search_all_directions(s, y + 1, x)
|
|
||||||
+ search_all_directions(s, y - 1, x)
|
DOWN = Vector(0, -1)
|
||||||
)
|
UP = Vector(0, 1)
|
||||||
|
RIGHT = Vector(1, 0)
|
||||||
|
LEFT = Vector(-1, 0)
|
||||||
|
|
||||||
|
debug_grid = ['.' * x_bound for n in range(y_bound)]
|
||||||
|
|
||||||
|
def search_direction(pos: Vector, dir: Vector) -> bool:
|
||||||
|
poss = []
|
||||||
|
s = data[pos.y][pos.x]
|
||||||
|
|
||||||
|
poss.append(pos)
|
||||||
|
for i in range(0, 3):
|
||||||
|
pos = pos + dir
|
||||||
|
poss.append(pos)
|
||||||
|
|
||||||
|
# Check Y
|
||||||
|
if pos.y < 0 or pos.y >= len(data):
|
||||||
|
return False
|
||||||
|
|
||||||
|
# Check X
|
||||||
|
elif pos.x < 0 or pos.x >= len(data[pos.y]):
|
||||||
|
return False
|
||||||
|
|
||||||
|
s += data[pos.y][pos.x]
|
||||||
|
|
||||||
|
if s != 'X' and s != 'XM' and s != 'XMA' and s != 'XMAS':
|
||||||
|
return False
|
||||||
|
|
||||||
|
for i in range(0, 4):
|
||||||
|
debug_grid[poss[i].y] = debug_grid[poss[i].y][:poss[i].x] + s[i] + debug_grid[poss[i].y][poss[i].x + 1:]
|
||||||
|
|
||||||
|
return True
|
||||||
|
|
||||||
total = 0
|
total = 0
|
||||||
for y, line in enumerate(data):
|
for y, line in enumerate(data):
|
||||||
for x, char in enumerate(line):
|
for x, char in enumerate(line):
|
||||||
if char == 'X':
|
if char == 'X':
|
||||||
total += search_all_directions(char, x, y)
|
pos = Vector(x, y)
|
||||||
|
total += (search_direction(pos, UP)
|
||||||
|
+ search_direction(pos, DOWN)
|
||||||
|
+ search_direction(pos, LEFT)
|
||||||
|
+ search_direction(pos, RIGHT)
|
||||||
|
+ search_direction(pos, UP + LEFT)
|
||||||
|
+ search_direction(pos, UP + RIGHT)
|
||||||
|
+ search_direction(pos, DOWN + LEFT)
|
||||||
|
+ search_direction(pos, DOWN + RIGHT)
|
||||||
|
)
|
||||||
|
|
||||||
print(total)
|
for row in debug_grid:
|
||||||
|
print(row)
|
||||||
|
|
||||||
|
print(f'XMAS Count: {total}')
|
||||||
|
|
||||||
|
# Part 2
|
||||||
|
def check_pos(pos: Vector) -> bool:
|
||||||
|
chars = []
|
||||||
|
|
||||||
|
for dir in [UP + LEFT, UP + RIGHT, DOWN + LEFT, DOWN + RIGHT]:
|
||||||
|
new_pos = pos + dir
|
||||||
|
|
||||||
|
# Check Y
|
||||||
|
if new_pos.y < 0 or new_pos.y >= len(data):
|
||||||
|
return False
|
||||||
|
|
||||||
|
# Check X
|
||||||
|
elif new_pos.x < 0 or new_pos.x >= len(data[new_pos.y]):
|
||||||
|
return False
|
||||||
|
chars.append(data[new_pos.y][new_pos.x])
|
||||||
|
|
||||||
|
if chars.count('M') == 2 and chars.count('S') == 2:
|
||||||
|
return True
|
||||||
|
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
total = 0
|
||||||
|
for y, line in enumerate(data):
|
||||||
|
for x, char in enumerate(line):
|
||||||
|
if char == 'A':
|
||||||
|
total += check_pos(Vector(x, y))
|
||||||
|
|
||||||
|
print(f'X-MAS Count: {total}')
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user