mirror of
https://github.com/Noratrieb/advent-of-code.git
synced 2026-01-14 17:45:02 +01:00
part 1
This commit is contained in:
parent
b4cd364b84
commit
2c93270971
7 changed files with 303 additions and 0 deletions
9
2024/Cargo.lock
generated
9
2024/Cargo.lock
generated
|
|
@ -141,6 +141,15 @@ dependencies = [
|
|||
"nom",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "day04"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"divan",
|
||||
"helper",
|
||||
"nom",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "divan"
|
||||
version = "0.1.16"
|
||||
|
|
|
|||
15
2024/day04/Cargo.toml
Normal file
15
2024/day04/Cargo.toml
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
[package]
|
||||
name = "day04"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
nom.workspace = true
|
||||
helper.workspace = true
|
||||
divan.workspace = true
|
||||
|
||||
[[bench]]
|
||||
name = "benches"
|
||||
harness = false
|
||||
3
2024/day04/benches/benches.rs
Normal file
3
2024/day04/benches/benches.rs
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
fn main() {
|
||||
day04::bench();
|
||||
}
|
||||
140
2024/day04/input.txt
Normal file
140
2024/day04/input.txt
Normal file
|
|
@ -0,0 +1,140 @@
|
|||
SASASMSSSMSMSMSMSSMSAMXMAMAMXSXXXMAMMXSAMXMXMXSMMMXXXSXXAXSMMMAMXAXSMSSXXMSASASMXSSMSMSXMMMAMMMXXSAMXSSMXAXSASMMMXMASAXSXMXMAMXAMXXMAXXAMAMX
|
||||
AASAXAAAAXXASASMXSAXAMXXSMSSMSAXSMSMMASAMAAXMAMAAAMMMMMSMXSAMXSSMSMXMAXMASXAXAMXAAXMAMXAMASAMAAMXMASAMAAMSMSASASMMMMAMSXSMASMMSMSMMASMMMSAMA
|
||||
MXMXMMMSMMMMMAMXAMXMSSSMAXAAXMAMAAAXMASASMSXMASMMXSAAAAAMAXAMAXAAXAAMXMAMXMSMSMMXMASMSMXSASAXXXSASXMASXMMXAMMMAMMAXMXMMAXXAMAAAAAAMAMAAXSAMA
|
||||
XSMSAXMAMAAXMAMMSSXSAAXSMMXXMASMMSMSMXSMMAMMSMAAXASMSMSSSMSSMMSMMMSSSSSSSMAMAAXMXXXAAAAAMMSAMSMSASMSXMASAXSAMMSMSMMMAAMAMMSSMSMSSSMAMMSMSAMX
|
||||
XMAMAMSASMSSSMSAXAMXMSMAXAMMMXXXXMMXMAMAMXMXAXMMMMSAMAAXAXAXMXMAMXMXAAMAAMAMXMMXMMMMMMMMSAMAMMAMAMAMASXMXMXXSAXMAAASXSMXSAAAXXAXAXXSSMMASAMM
|
||||
XMAMAMXAMXXXMAMXMMAXAAXMXSAASAMXSMASMASAMXSXMSXSXAMAMMMSSMMSXXMASAMMMMMXXMASMMMSMMASAMASMASXMMAMASXMAMXMAMSXMXSSSSMAMAXAMMSMMSMMAMXMAAMXMMMA
|
||||
MSASXSMSMXSAMXMMMMSMXMMMAMXMMASXXAXXMAMASASAAXAMMSSMMMXAXMAMMMXASMSASXMSSSXSAAAMAAASASXSAMSAASXXXSASMMMXAXAMMXMXMAMXSMMXXAXMAMXMXMASXMMSMASX
|
||||
MSXMASXAAXSAMXMAXXXAMMMMASMSSMMXMXMSMSSMMASMMMAMAMAASMMMMMASMSMMSXAXSAMAAAASXMMSSMXSAMMSMMSMMMSMSMXMAASXXMAXMAXMMXMMAXXXMASMXMAMASMSASAXMAMX
|
||||
MXMXSMSMSMSXMSXSXMAMAAAMXSXAAMSMAAAXXAAMXAXAXXXMXSMMXXASMSMSAMAXSMSMSAMMSMASXMXAAMAMASAXAAXAMAMMAMSMSMMAMSSMSXSASMMSXSXMMASMMSASASAXXMASMXSM
|
||||
SAXMAMAXAASAMXMMASAXSMXSAMMSSMSASMSMMSSMMXSXMSAMXSAMSSMMAAAMASMMMAAMMAMXXAASXMMMMMMSAMMMMMSXMAMSAXMAAXMAMXAAASMMMXAXMMAMAXMAMMMMXSXSSMMMXAAA
|
||||
SAMSMSMSMSMMAAMMAMAXMASMMSAMXAXXXAAMMAMXMMSMAXMMASAMASXAMMMMAAMXMSMXSAMXXMMSMXAAASXMASXXSASMSSMSXSMMMXXAMMMMMAXAMSMMASAMXSMSMXAMASAAMAAAXSMM
|
||||
XAMMXSAAMXMASXSMXSSXMMMAMMASMMMSMSMSAMSASXSASMXMASXMASMSSMXMXSAMXXXMSXXMAAAXAMMSMSAXSMMAMASXAXMSXAAXAASMSMXAXMSAMMASXSXMAMAMXMASASMMSSMSAMXS
|
||||
XAMXASXMSSXAXAXMAXMAAXMMMSXMAMASMAAXAXSASAMSMAXMASAMASAAAAXMAMXASMSMSMASMMSSSSMMASAMMAMXMMMMSSMMMXMMMXSAAASXSXSAXSAMAMMSSMMMAMMAMXAXAXMMAMAM
|
||||
MSAMXXAXAMMSSMMSXXXAMXXXXXXSAMSSMXMSMMMXMMMASXXMMMXMASMMXMXMASXSXAXAXSMXAAXAAAXMAMMMXAMXSXMSAAAAMASXMMMMMMSAAAXXMMMSAXXAAAXMXXSAMSXMASMSXMAM
|
||||
XXAXXSMMMSMAAAAMMSMAXXMMAMXSASMXMAMAASMMSASAMMMMSXXMASXSSMSMASXMMSMMMSXSMMMMSMMMXMAMSMMAXAXMASMMXAXAXMAMXMMXMMSMASAXASMSSMMMAASAMSXMAAXXMSAS
|
||||
SSMMMSAAXAMSSMMSAXXAMXMSSSMSXMAMMSSSSMAMSAMMMSAAAMAMXSMXXAAAAXMXAMASASAMXAAXAXXXSAMXAAMXSXMSMMMXMSSXXMASMAAXXXAAMMMSAAAXAXAMAXMAMMAMMSAMXXAA
|
||||
XAXMASMMSMXMAAXMASMMMXXXAAAXSMMMAMAMXMAMMAMAASXSMXMASXMXMSMSXSMSSSMMAXSMMSSXMSMXXMASXSMAXMXMASXSSMAMASASXMMMXSASMAXAXMSXSSMSMMMMMSXMAMMASMMM
|
||||
SMMMASMAXXXMASMMXMASXMXMSMMMMSAMXSAMSSXMSSMMXSAAXASXMAXXAAXAXMAAAAXMMMXSAAXASXAMMXMMMAMSSMMSAMXMASMAXMASXSXAAAAAMXMMXXXMASAAXAXAAXSMASMAMAAM
|
||||
MMMSAMMXSXMSXMASASXMAXSAMAMAAMXSXXAMMMSMAMXXSMMMSXSAMXMMSMSMMMSMMMMSMAMMMXSXMAMAMXAAMAMXMAAMAMXAAMXXMASXMSXMMMMMSMMXSAMMAMXSSSSMMMAMAXMASMMM
|
||||
MAAXAXXXAMXMASMMAXAMAMMAMMSMXSAMXSSMSAAMAMSXMAAXXASMMAXAAXAXXXAAXSMMMASXMXSASAMSMSSSXSSMSMMMSMSMSXXXSXMXAXMMASXXXAXXXAXMXSXMAAAASMMMAMSASASA
|
||||
MMSSSMSMSMAMXMMMSMSMSXMMMXAAAAAXAAMAMSXMASXAXSMSMMMASXMSSSSSSSMSMMAASXSMSMSASXSXAMAMXMAMMAMXXAXAAXSMAAMMXMMSASXMSSMSSMMMASAMMMMASAXSSXMASAMM
|
||||
SAMMAMAAASMSMSAAAMMAXMSAMMMSMMMMMSMAMAMSMMXSMAAXAMSXMAAMAAAAAMSXAXSMMXMASAMAMMXMXMAMMXAMSAMSMAMXMAMAMAMSSMMMSSXAAAAMAMAMASXMASXASXMAXAMAMAMX
|
||||
MASXAMMMMXXAMXMMXSMAMASASXXMMSSXMAXAMXXAXSAMSSMSSMXXAMMMMMMMMXSMXXAAXXXSXMMAMAXSXXXMASMMMMXAAXXSMMMSSMXXAAXMASMMXXMXAMAMASXMASMASAMMSXMMXMMX
|
||||
XAMMXSAXXXSMSSMSMSXAMMSAMXAAAXMASMSXMXSSSMAXAXMAMMMMAMAXXXXSMAXAMSSMMMXMAXSXMSAMXSSMXSAAAMMMXSMMMAAMAAXXMMMXMXXMASMSXSMSAMXMAXAMMXMXMXMAAMSS
|
||||
SSMMXMASMAXSAMAMAMSXSXMAMSXMXMMAMAAASAMXAAXMASXMXAAAASMSMSAAMAMSMAAAXMAMXMXAAAAXXAXMASMSXSAMMAAASMSSSMMMSSSXMMMMXXAAAMAMAMXMASXXMAAASAMMXSAM
|
||||
XAASXSAAMAMMXMAMAMXMXMMXMSXSASMMSMSMMAASMMMMXSMMSSSSMSASAMSMXAMAMMSMSSXXAAMMMSMMMMAMXXXAASASXSMMSAXAXXAXAAMXXAAAXMSAMXAXAMMMXSMASMSMSASASMMM
|
||||
MSMMAMSSMSSSMMXSXSSMAMXSXXAMAXAXAXAASAMXMAMXAXAAAMAAAMAMXMXMMMXAXMAAAAMSXXAMAMAXXXMMMMMXMMMMMAMAMXMAMSSMMSMSSSSSXAAXSXXSASAMAMMMMAAASMMMXASX
|
||||
AXAMXMAMMXMAAXXAXSAMMSASMMSMMMSMMMMASMMASAMSAMMMSSXMMMXMXSXSAMSMSXMSMXMASXXMASXMAXSAAXMSXMXXSAMASXMAMAAMMAAAAAXXASXSMAMSAMMSAXAXMSMMXMASXMMX
|
||||
SSXMAMSSMASMSMAMXSXSAMXSAAAXAAAAXXXXMAXAMAMMAMSSXMASAMXMASASMXAAXMAMXXSAMXMSMSMSMASMSSMMAAAXMXMXSXSASMMMSMMMSMMXXMMAXSMMAMAMMXSXXXMSASASMAMA
|
||||
AMXMXMXAXASAMMSXMSAMMMAMXSMSMSSSMSSXSAMSSSMMXMXAAAASASXMASAMXSMSMASMSMMMSXMAAMAAMAXMMAASMMMSSXSASMXAXAXAXXXAAAXMASMMXMAASMSXSAXSMAASXMAXMAMX
|
||||
MMAMAMXMMMXAXAMAAMXXAMAMAXXAAMXAASAAMXSAAASAMXMSMMASAXASAMAMXAAXMSMAXXAAAASMSMSMSMXXSMMMMXAAASMAMAXSSMMMSMMSSSMSAMXSASAMXAMAMMSASXMXXSXMSSSM
|
||||
XSASASMXXSSMMSXSXXAMMSMSMASMSSSMMMMMMMMASAMMSAAXXXAMXMAMASMMXMXMXAMMMMMMXXMAAAAAAASMSAMMMSMMSMMXMSXMAMAMXAMXAXAMXSAMXSMSMAMMMMSMMSSXMSAXSXAX
|
||||
ASMSASAMXXAAAMXXXMMAXAAAXAMXAAAAMXAXXAXMMASASASMXMASAMASXMAMXXAASMMAAXASXSMXMXMXMMXASMMAAAAXXXMAXMMSAMXXXAMMXMSMMMMSAMXXMAMXXXMAAAXAASXMMSXM
|
||||
XSAMXMAXSSSMMSAMXSASXMSMMXSMMXXMASMSMMSXSXMAXAMAXMASASASMMMSSMAXAASXXSASASXMSASXSMMAMMSMSSSMSASMXXAXAMAMSSMMMMXASMSAMXAXXMASXMSMMSMMMMAXMXSA
|
||||
MXASMSMXXAXAXMXMASMMXAAMMMMMSMAXAAMXMMSAMMMSMMMXMMXSXMAXXXAAASMMMMMAAMAMAMAXSASASMSAMXAXXXXASXMSAMSSMMMXAAXMAMXAMMXMASXSXAAXAAAXAAXMASMMMMAS
|
||||
SMMMMAMSMXMXMXMMXSXXMSMSAMAAAMSMSMMAXMMMMMAXAXMMASAMXMMSSMMMXMXMAXMXMMSMXMXMMAMMMASXSMMMSAMXMMAXMAMAAASMSMMSSSMMMAAMMXMMMAASMMMXSAMSASAAAXSX
|
||||
MXMAMAXAMMXMMMSAMXMSAMXSAMMSXSAAXASXMSASXMSXXMASAAMXAMXAXMAMMSMSSSMXXXAMAXASMMMAMMMMMXAASAXMXMASXSSMMMSAMXAAAXAMXSSXSASMASMMXAXXMAMMXMMSMSAM
|
||||
SASXSMSMSAASAAMAMAMMSMXSAMXMMMMXSAMAASASAAMXMSAMXSXSSMMMSSXSAAAAAAXSMSMSSXMMAAXMMAAAXMMXSAMXMMMMMXMASXSXMMXSMSMMAXXAXMMAMMAXSMXAMAMXMAAXMMMA
|
||||
MMSAAAXAAMMMAXSAMASAXMXMMMAAAMXAMAMMMMAXMAMXXMXSSXAAAASXAMAMMSMMMSMSAAXSAASXSMSSSXSMSXSASASMSAAASASMMAMMMXAXXAAMMSMMMAXMMSSMSASMSSXSAMASAXXS
|
||||
SXMXMMMMMXMMXMSXSXMASMXAAMMSMSMMSXMAXMMMMASXAAASMMSMSMMASAMXAXAMXXASMMXMSAMAXAAAMMMAXMMXSAMAXXSSXXSXMAMAMMMSSMSMAXAASAMXXXMAMXMAAAAXSMMAMXXX
|
||||
AXMXMSMMXMSSMAXAXAMAXMAMMSAMMAXXXMSMSMMXSAMXMMMMAXAXMXAAMAXMSSSXSMAMXMXXXSMAMMMXMAMMMAXXMAMMMXMXMAMXSMSASXAAMMAMSSSMMASXMSMSMSMMMMMMXMASXMXX
|
||||
XMAMAAAXXMAAMXMMMMMMSXMSAMAMSSSXMMAMAAAAMAXAMXMXMMSMSMMSMXMXAAXAXMXMSMSMAMMSXSMXMXSAASMXMAMXMAASXSAAMXSASMMSSXMSAMMXSAMXASAMXXASMXSSXMSMAMSM
|
||||
XMAAMXSMAMSMMXMAAXAMAAMMMMAASAMAXSMSSSMMSSSMMASAMXAAAAXAXSMMMSMSMMXMAAAMXMAXXAXMXAXXXAMXSMSMSMSMAAMASAMMMMAAXASMMXSAMXSMSMMMSSXMXAXMAMAMAMAA
|
||||
MSMXSAAMMMMAMAAXXSASMXMASMXSXAMSMMAAMXAAAMAASASASXMSMXMMXAAAXMAXAMSSMMMMMMXSXMMSMMSMSAMXXMAXMXMMMMMAMMXSAMMSSMMAXXXXMMMMXAAAXMAXMAXSMMXSSSMS
|
||||
AAAAMMSMSASAMXXSAMAXXXSASXMMMMMAAMMMSSMMSMSMMAXAMXXMMMAXXSSMSMASAMXASAXXASMMMMAAAXAXMXMXXSXSXMXMASMXSXASASAMAXMSMSMSAAAASXMXSSXMASMAASAMXMXM
|
||||
SMSMXAMXMASXMAXMAMMMMXMAXAXXAMSXMMMXAAMXMAAXMMMSMMXAAXSAMMAMXMAXAMSAMMMSXSAXAMSSSMSSMXSAAMAMXAMMAMXSMXMSSMASAMMAAXAMSSSMSXMAXMASAMMSMMAMXXAS
|
||||
AMAMMXSAMAMAMMMSMMMAAXXXMMMSMMXMSAMMSSMAMMMMXAAAAXMSMXMAXMAXAAMXSMMSMXASXSXSXMXMMXXAMAMMSMAMASXMAXMXMAMSASAMASMMSMXMMXXXMAXMSSXMASAXXMAMXSAS
|
||||
XXAXXASAMXSXXAAAAASXSMMMMSAAXMAMMAMMAAMASASASMSSSMXAMXSAMXSSSMSAMMMXSMXXAMAXMAMSMXSAMXSAAMAMXXXXMXAAMMXSMMXSAMXXAMASAAXMSMMMAXMSXMASMSMSMMAM
|
||||
SMXSMASAMXMMMMSSMMMXMAMAAMXMAMMMSAMXSSMXSAMAXAXXMXSXSXMASAAAAAMMSASAMXSMAMAMASMAMXMASASXXMAXMMSSSSSMMSAMMAASXMXSASAXMMSXAXSMAXMMSMXMXAAAXMMM
|
||||
SAAAMAMAMSAMAXMMASXMSSMMSMMXSXAAMAMXAAMAMAMSMMMMAAMMSASAMMSMMMMXSMMASAAXXXAMSAMAXASMMASASMSSSMAAXAAASMSSMMMSAMASMMXSAAMXMSXMMSMXAXAASXXMXMSS
|
||||
SASMXASAMSAMXSASAMAMAXAXMASAMMMMSSMMSAMAMAMXMAAAMAXXSAMXSAAAAXSAMXSSMMSSMSASMMSMSASXMAMXMAAAAMMSMSMMMAAMXMAMAMASAAAMMMSAXMASAAMMXSMXSAMSMMAM
|
||||
XAMMSMXMMSAMAXXMAMSMMXMMSAMAXMAXAAAXMMMSAMXMXXSSSSMAMXMAMMXMMMMASMMMAAMAAXXSXXAMMAMXMAXAMSMSMMAAAXMMMMMSMSMSSMXSMMSSMASASXSMMSXSAXXAMAMAAMAM
|
||||
MXMAAAXSAMAMSSSMSAMAAXMASXMMAMXMSSSMSXAXAMXSAMXXAAMSSMMSSMSSSMSAMAASXMSMSMMMMMXSMMMMSMSMMAXAAMSSSSXSAMAAAAXAAAMXMAAAMXMAMXAASAAMMMMXSMSSSMAS
|
||||
AXMSMXMMASMMMAXAMASMSSMASXMSXXXMAMXAMMASXMAXMASMMXMAAXAMAAAAAXMASXMMAASAAAXAAXAMAMXAAAAMMMXSSMAXAXAMAXSMSMMSSMMAMMMMMXMSMMSMMMSMSXSAMXAXAMXA
|
||||
SAMAMSAMAMAASXMXMAMXAAMAMXAAMSMSMMMMMMAMXMXSXSXAASMSMMXSAMMSMMSAMMASMMMSMSMSXSASAMMSMSMSXXMAMXMXXMMMAMMAAXXAMXSXSSSSSXMMAMMMAMAAAAMASMMXXMAX
|
||||
MMSAMMAMXSSMMAXXMXSMSSMSSSMSAAASXAAAXXASXMAXXAMMMSAXMMAXXAAXMMMAMMAMASAXXXMAMXASXXMAAMAXASASXSXSAAXMASMSMMSXMXMASAAAMAMSAMAMAMMSMXMMMMSMSMSM
|
||||
MAMMSSMMXXMAXXMXAXSAMXAXAXAAXMSMSSMMMSXSAMSSMMXMAMAMAMAXMXAMXMMMMMSSMMASMSSSMMXMASXMXMSMXMAMAAAXSMMMAMXAAAMMMMMSMMMMSAMXASXMXSAMXAMAAXAAAAAX
|
||||
MMMAXAASXXSAMSMAXXXSSSSMMMXMXXXAAMASAMMSAMAAXXAMASASMMSASAASXSMSXMXAXMAMMAAAAASMXMAMXMASMSXMMMSMXMMSSMSSMMXAMMXAXXAXMXSSMMMAAMAMSSSXSSMSMSMS
|
||||
SXMMMXMXAXMASAAMAMMMMMAAXAAMXMMMMSAMAMASAMSSMSXSASXSAAXAXXSAAAASAMSXMMMSMMSMMSMAASAMXMAXXAXXXAAMXAAAAAXXXAXXSSSMSSMSXXMASAMXMSAMSMSMAAMMXMAA
|
||||
MAMXMMXMXMMXSASMSXAAAXSMMMMMAAAAAMXSAMMXXMAXASAMASASMMMMMMAMSMMXAMSMMXMAXMAMMAMSMSMXXMMMMMAMMMSSSMMSSSMMSMSXAAMXMAXAXMXMMMSAXXAXMAMMSMMMAMXM
|
||||
SAMASAAMASMAMAMXMASXXMAXMASMMSMSXSASASXSSSMMXMAMAMMMXXXAAAMXXXSMSMSASXSXSXMXMAMXMXMASMSAMXAAXSAXMXMAXXAAMAAMMMMSSXMMMSAAAASXSSMMMAMXMMAXMMAX
|
||||
SASXSMMSAXSAXAMXXAAAMSMMMAMAXAAMAMASASAAMAMMMSAMXSXSXSSSSSXSSMMAMAMSMXSAMXXSSSXSASAMMAMXSSMSXMXMSAMMMXSMMMMMAMXMMMAAASXSMXSXXAMASASASMSMSSSS
|
||||
SXMASMMXAXXXXSSXMMMSAAMAMMSSMMSMAMXMXMAMSAMAAMASMSMSAAAAAXMXMAMMMSMMMAMAMMAMAAAMMSAMMSMMAXMMMMMXSASXSAMXAAASAMXAAMMMMSMXXXMMSAMMMAXASAAAAAAS
|
||||
MAXAMASXMMSMMMXXXXAMMXMSXAAXXAMMMMAMXSXMXMSMMSAMAMAMMMMMMMMAXSMXAXAAMXMSXSXMMMMMXSAMAAASAMXAAAMASAMAMAMSXXASASMMMSAAXMASMMSASMMMMSMMMMMMMSMS
|
||||
SMMMSAMMMAAMASAMXMXSSMMXMMSXMASAXMASAMMSXXSAAMAMXMAMAXSAXSSXSAXMASXMSSMMASMMXXXXAMMMMSMMASMSSSMMSAMMMSMMSSXMAMXAASMSMXMAAAMAMSASAMASAXXSAMAX
|
||||
AMAMMMMMMSMSXSAMXMAMAASMSMAMSSMMMSAMXSAMXAMMMSSMMMAXMSMMSMASAMXMMXMASXASAMXXAMMSXMASXXXSAXMAMXMMSAMXAXAAXXXMAMMSMXXMMASMMMMSAMXMAXAMSSXMAXSA
|
||||
MMXXAAXXMAMMXXXMAMAMMMMAAMAMXAAAMMXMAXASMMXAMXMMASMXMAMXAMMMXAMXMAMMMSXMASXMASAAAMXSAXAMASMMMAXXSXMMMSMMSMXSSXAXSMSMSAMAXXXXXMASAMXMAMXMAMMM
|
||||
XMASMSSXXMASAMSSXSXSMMMSMMMSSSMMSXMASXMXMMSMSMXMXSMAMASXMSXSXSSSMMSSMMMXMMXXAMXSMMSMMMXMAMASMMSMMXXMAAAXAAAAXMAXAXAAMMSSMSMMMMMMXSXAMSMMMSAS
|
||||
XSASXAXMSXAMASAAXSASXXXAMAAXAMXMSAXSAXAAAMAXSAMSASMSMASMAAAMAMAMSMAAAMAASMSMMSAMAXXAAXXMMXXMAMSAMXMMSSSMMMMXXMSSMMMSMMXMASAAAXAAAMMXMAXMXSAS
|
||||
XMASAMXAXMSSMMMSMSAXMXMAXSSMMMSXSAMAMSMMSMSMMSMMASAMMMMMAMSMAMMMAMSSMMMMSAAAMMXSXMMSMSXMASXSMMSSSXXAAAXAMXXMSAMAXMXMMSMMSMSMSSMSMAAMSXSXAMSM
|
||||
MMAMMXMXSAMAAMXXAMMMAASMMAMAXAMMMXMAXAAMMMXAXXXMAMXMAMXXSSXMXSXSMMXAXAXMMMMXMXMMMMAMXXMASXXAAASXMASMSSSMMMAMMASAMMMXAAMXMAMXMMMAMXXMXXAMMSAX
|
||||
AMAMSASXAXSSMMMMSMXXSXAXMAMMMMSXMAMXMSSMSASAMXXMXSAXAMXXXAXAMXAMXMXMMMXSAMXMSMAAAMASXMSMMMSSMMMAAXMAMAMXASASXMMAMAAMSXSASAMAXXMAXSMMMMSASMMM
|
||||
SXSXSASMXMXMAAXAXASMXMMASMXSAMXXMAMAXXAAMXMAAMAMASMSMSAMXMMSAMXMAMAXMAMSAMMAASMSMSXSAAAAAAMMSXSXMASXMSMSMSASAMAAMMXXMASAMASXMSSMMSAAAAXMSAAM
|
||||
MAMAMAMAAMXSSMSMXAMMAMXMAAMMMXMAXXSMSSMMMAMXSSXSAXXAAMAMXMAXAMMMXSAXMMMSMMSSXXXAASAMMSSSMSAAAXSAMXSAMAAAAMASAMSXSXSSMMMSMAXXAAAMAMMMMMSASMMS
|
||||
MAMAMXMSXXAMMASMMSMXASAXMMMASASAXMAMAXAASMSAMXAMXSSMSMAMSMMSAMAAXMXMXMAMXAAXXSAMXMAMAXAXMXMMXXSAMMMASMAMXMAMAMMAXAMAAXAXMMMMXSXMASMXSAMXMAMA
|
||||
MASMSSMASMASMAMAAXMMAXMXMASMMASAXSAMASMMSMAMMMXMAXXAAMAMMAXSASMXSAXSXMSMMMSMSASAXMAMMSMSMXSSXASAMXSAMXAXXMAMMSMMMAXXMMSSMAXXAXXSXSAAMMSASAMM
|
||||
SXXMAMMASMSMMMSMMMMMSMMASXSAMMMMMMXMASAMXMAMXXSSSSMSMSMSMMMSXMASMXMXMAAAXAAMSAXMASAXXAXAMSAMMMMMMXMASXXSXSASMAAMSMMSSXMAXXSMMXASASMXMXSMSXSA
|
||||
AMSMASMASMMASMSXSASAAASMSAMXMXAAXXAMXSXMASXSXMXAAAAXAAAAAXAXAMMMMAMAMSSSMMMXMAMMMSASMMSMSMAXXXMAMXXMMXAMXSMSMMXMAAMXMASAMXMMSMAMAMMSMASXMAMX
|
||||
SAASASMAMAMXMAMAXMAXXMMXMAMAMMAMMSMSMMXSXSMMASMMMMSMMMSMSMMSAMXAMAMXMAXAXSSMAXMXMXXMAAXXXMMMMSSMASXMAXMAMMAXAMXSAMXAMMMAMAXAXMMMXMXAXAXAAMXS
|
||||
MSMMSSMMSSMAMAMSMSXMSSMMASMXXMAAXAMXMXMXAXAXAMAAXXAASXMAXAXXXMSMSSSMMMMMMXAAMXSXSMASXMAMSASASAMAAXAMXXXMAMMMSMAMMMSMSMMSMSMMSMMXMMSMSMSXMXAX
|
||||
MXXMAXMMAAXMMAMXAXAXAAASXMASMSXSSMSXMAXMSMSMSSSMSSSXMAMXMXMAAXSAAXAMAXASXSMSMXSAMSXMASAAXAXMMASMXXAMAMSMSAXAXMMMAAAAAAMXAXAMAXAAAXAAAAMMSMMS
|
||||
AXSMSAXMSSMSSMMMMMXMMSMMAMAMAAAXAMMASXSAAAXXMAMAMAXSSXMASXMSMAMMMSXSSSMSAAXMMXMAMAMSAMMSMXMXSMMAMMAMASMAMMMMXMASMSXSXSMMXMSSSSSSSSMSMSMAMAMA
|
||||
MAXXMAXXAMXAAASAMXXAXAAMXMSMMMMMAMSMXMAXMSSMXAMXMAMMMAXAXAXMXMSAMXAMXAAMMMXMXMSXMSAMAMAXAMAMMAMAMSMMMXMAMXMSAMMSAXXAAXXMAXXXAAMMMAMMMMMXSAMA
|
||||
SMMMSAMMASXSSMMAAAMMMSSMXMXXMAMSSMXSASAMXAAMSMSXMASMSSMSSMMSAMAMXMSMXMMMXMMMAMSAMXXAAXMXSASASMMXMAMAXMMSSSXAMXMMAMMSMXASXSSMMMMAMAMXAASMSMSX
|
||||
XAAAMXXXMXMAXMSMMMXSAAXMXXMAMAMAAXAMXMASXSMMAMAMSASMAXAAAASXXSMSAMXAASAXAMAXXMMASAMXSAXAMMMMXXAXSASMMSAMXXAXMASMMMAXXSAMXAXXXASMSMSXSMSAMASM
|
||||
SSMSMSXSXSMSMMXXSAAMMMSMXMSMMAMSSMMSSSMMAXXMAXAMMXSMAMXXAMXMXXMAXXMXMXASMSSMSASASASAAMMXSMSXXMXMMAMXAMMSMMXMSXSAMXSMASMMMMMXSAXAAXXMMMMMMAMA
|
||||
XMAXAMAXMAMAMSSSMMMXSMMMMMAMSXMXAAXAAAXMXMXSASMSSMSMAMSMXSAMXAMSMSMXSXMXAAAASAMASMMMSXSXSAXXXAMSMXMMSMAAAMMXXASMMMXAXSASAASMMSMSMMMXSASXMASM
|
||||
MMAMAMMMXSAMXAMXAXSAXAMXAMAMMASMSSMMXMMXAAXMAMMAAAXMMXSAASMSSXMAAXMASAMMXMXMMAMAMXSXAASAMMMMXMMSASMAMMSSSMAAMAXASXSSXSAMSMSAAAMAAXMASXMASAXA
|
||||
AMAXSMXMAMMMMSSSMMAXXAMSSSMXXAMXAAAXSSMSXSAMAMMSMMMXSAMMMSAMAMMXSAMASAMAMSSSSXMASASAMXMXMAAAMSAMXMMXSAAXMASXMMXMMAMAAMMMXXSMMMSSSXMMSMSMMMSX
|
||||
SSMSMAXMAMXAAAMAMSAMSAMMASAAMSSMMSSMAAASAAMXXXAAAXXXMAXXXMMMMMSMXAMXSAXMAXAAMXXAMXSMMAAXMSMSSMXSXXXAMMMSXAMAAMSSMAMMXMASMASMMMXAMMSXSMAMAXAM
|
||||
MMMAMMMSSSXMXSMAMMAXXXMMAMMMXXAAAAAASMMMXMXSSMSSSMMMSAMXSMMASXAAMMXAMMMMXMMMMSMXXXXAXXSSXMAXAMSSMMMXXAXMMXSSMAAAMXXXXSASMMXAAXMXMAMXXMASMSMA
|
||||
XASXSXMAMMAMAXMASMMMMSXMXSXSXSSMMSSXXXXXMXAXAAAAMAAXMASMAXSAMMXXASMSXSASAAXSASASMMSSMXAAAMXMAMAMAXXAMSXSAXMMXMSMMSXMXMAMXXSXMSSMMSSMMSMXXAXM
|
||||
SMMMSXMAXSMMASXMSAMAXAAXMXAAXXXAMXMMMMSSSMSSMMMSMSSXSAMMMMMASMSMSMAAASASASXMASXXAXAAMASMSMASMMASMMMXSAASMXAAXMAXAXAMMMSMSMSAMXMAMXAMXAAMSSSS
|
||||
AXAAMASAMMXMXMAMXMSSSMMMAMXMMXSXMAAAASAMAAXXMAMAMXMXMAMAMAMMMAAXASMMMMAMAXAMXMAXMMXSAMAAAXXXASAXXAXMMMXSAXSMXSAMSSXSAAAXSAMXSXXSMSMMSMSMSAAX
|
||||
SSMXSMMASMAMMSSMXXAXXAAASAXXAMMMSSSSXMASMMMXSSSSMMXSXSSMXAXSMMMSASXMAMMMMSXSXSMSXMAXMSMSMSXSXMASMSSSXMAMMMXAMSASMXASMSSXSASASAAAAAMMXAMMMMMM
|
||||
MAXXAXSAMMAXMAXMMMMSSSXSAMXSXMXAAMMMMSMMXMSAMMAMXSMMAMAASXSMAAAMASASMMMAAXXMAAXAAMASXMAXASMSASXSAAAAAMAMAAMAMSMMMMMMXXMAMAMASMMMSSSMMMMASXSX
|
||||
SAMMAMXXSSSSMAMMAAAMXAXMXSASASMMSMSAAAMXSXMASMSMAMAMSMMMXMAXSMXSASMMSSSMXSAMAMSSSMASXMMMMMAMAMAMAMMMMSSSMSSSMSAMXASXSAMMMSMMMXAXAAAMASXMMAAS
|
||||
MASXMMXSAMXAMSMSXSMSMSMMAMMXAMAAMASMSXSAMASXMAMMMSXMXXXXMSAMXXMMMSXAAXAAASAMAXMAAMAXXMAAAMSMAMMMSMXXXXAAXMAMASXMSXSAMXSAAAAXAASMMSMSAMAAMXMX
|
||||
XMXAAAXXSMXAMXAMAXXMAMAMAXXMSMMSMAMXMMMMXAMXMXMAMMAMMXMMAMXMMMXAAXMMSSSMMSMMSSMMMSSMASASMSMXXSAAAXXMAMSMMMAXMXMXSMMMMAMMSMSMSSXMXXAMMMSMMAXX
|
||||
SMSMMMXXAXAXAMMMAMAXSSXMAMSAAAAXMXSAMAMSMSSSMMSSXMAAAAMMAMAAAMXMXXMAMAAMMXMAXAMXXAASXMAMXAXXXSMSSSXSAAAAXMMSMAMSMMAMMAMXMAXAXMAMASMMSAXXSXXX
|
||||
AAAXMASMAMSSSMXMASXMAMMMAAMXMMMXMASMAAAXXAAASAMAASXSMMSASMMXAMASASMSMSMMSAMMMMMSMSXMSMSMSMMAMXAXAAASXXMMMAMAMMMAXSASMMSAMAMMMSXMASAAMMSMMMSM
|
||||
MMMSMASMAMMAAAXSAXXAAXXMMSMSXXMXSAMXSMSAMXSMMSXSXMAXAAAMMMMMAMASASAAAAAASMSSSSXSAXXXAXXAXSXMAAXMMMMMXSSMSAMXSSSMXSASAAMXMSSXAMXMASMMXMAAAAAX
|
||||
ASAXMAMMMSMSMMMMASMSMXXXAAXXMASXMXSMXMXAMXXXMAXXMMXMMMSXMAMSSMXMXMMMSMMMSAAAAAAMMMASMMMMMSMXMMMAAXAMAMAASASMMMAXAMMMMMMMXAXMAMSAMXASASMSMSSS
|
||||
XAXXXXMAXSMXMMMMMMMAMXXSSSMMSSMAMMSAAMSSMMXSAMXSAASXSAMAMMMAAMMMMMAXMXMAMMMSMMXMAMMXAAAAMXAMXSASXSMMMSAMMMMAASXMSXSAXXASMMSXSAMMMSXMASAMAMXM
|
||||
MMSSXASXXMMAMAMAMXSXSSMXAAAASAMXMAMSXXAAASAMAXASXMAAMAXAMSMSSMAAXSAMMAMXSXMAXMSMSSXSXMXMSMMMAXMAMAAAAMMMAXXXMMSAXASMSSMMAXAMMMMAAMAXAMAMXXAM
|
||||
MXAMMAMXASXXXASASMMMXMAMMMMMSAMXMSMMSMMSXMASXMMSXMMSMMXSMXAAAXSSXMMXSAMMMASMMMAAASAMXSAMAAAMXSMMXSMMSSSSSSMMSAXSMMMMMAASXMMMSASMSSMMSMMMSMAM
|
||||
XMAXMAXMMMASMASASMXAAXSMXAXAMXMASXSAASMXMSXMASAMAAXXAAAMXSMMSMMXAAAASASXSXMAMSMMMSXMASASXSXSXXAMXMAMMAAXAAAAMAXAMAAAXMMMSAXAMXMAXAAAXAMAXMAM
|
||||
MSSXSXSAAAAMMAMXMXSSSSXAXMMSXXXXAXMSMSMMAXXMAMASMMMSMMXXAXASXMSSMMMMSMMMMXMAMMASAMAMAMAMXMAMAMSMMMAMMMMMSMMMMSMMSSSSMAAAXSMMSXMXSXMASAMXSXXX
|
||||
MAMXSAMMSMSSXAXMAXMAMMXXMXMXAMSSMXXAMXAMSMSMASAMAAAXMASMMMSMSAAXMAXXSMSMSAMMMSAMASXMAMSAAMAXAXMXMASMXXAAMMASAXMXAMAAMSMSSXXXAXSXSXSXSAMAMMXS
|
||||
MASMMAMAXAAAMSXSXSMAMSMMSXSMAMAAXXXASMSMAASXMMMSSMMSMAXAXXMAMMMSSMMMXAAASAXSAMXSXMAMAAMXXSSMMXSAMAMASMMSMXAMMASMMMSAMXXMAMAMMXXAXAMAMXMXSAXA
|
||||
SASASAMMSSMMXXAAASXXSAAAAAMSMMXXXSSMMMASMSMASXMAAAAAMSXMMMMAMAXAAASXMMMXMAMMAMXXASXMMSXSXAAAXMSAMAMASXMAXMXSXMSAMAMMXSMSAMXAXAMSMSMMMAMXSMSM
|
||||
MASAMMSMAXSXAMMMMMASXMSMMSMSMMMSMMASXXAXMAMXMXMSXMMSAMXSAXMASMMSMMMAAXMSMMMMXMMMMMMXXAAXMSSXXAMAMXSAMASASMMMAMSMMAXXSAAMASXMMXSAAXMXMASAMXXM
|
||||
MXMASAAMSSSMAMXSSMMMMAMAXXAXXAAAASAMXMAMSASMMXMMXSAMXXXSASXMSXAXAASXMMAAAAAMSXSAAMAXMMSMAXMASMXSMXMXSAMXSAASAMXXSMSMMAXSAMMSSXSMSMAAMMMXSMMS
|
||||
MSMMMXSSMMMXSXMSAMXMMASMMMMMSMMMXMASMXAMMAMXMMSAAXMAMXMMMMAMMMSMSMSXMXSMXMXXAAMSXSXAMAMMMMMMAAAXMSAXMMSASXMSAMXXMXXXAAMMASAAMAMAXXSMSMAMXXAX
|
||||
XAAMAMMXXAAAXAMXSMAXSASAMAAMAASMSSXMASASMSMAXAMMSSMSXMSAXSMMAAMAXAXASXXMSSSMMSMMMMMSMMMSAAXSMMMMAXSAASMASMXSXSSMMMXMMSSXAMMAMSMAMAXAAMMXMMSS
|
||||
SSSMASMMSMMMSAMSMXMMMASASMMSMSMXAAXAXAMXAXSMMSSMMAAAAMXSMAMMMSSSMMMXMMAXAAXMXAXSAMXXASASXMMMASXXMAMMXMMMMMMMXXXAAXAXAMMASXSXAXMXMAMSMSMMSAMX
|
||||
AAAMXMAAXAAXXAMAAAXAMXMAMXAMXMAMMMMSAAXMXMAMAXAXSMMMXMAXMAMXAAAMXSSMSSSMMXMSSMSASXMXAMASASXSMMSAMAXMSSMAAAAMMMSSMXSMSXSAMXAXMXSMMSXXXXAASAMX
|
||||
MSMMXSMSSXMMSSMMSMMASMMSMSSMMSAMXAAXMAAXMSMMSSMMSMASAMXSSMSMMMSMAMMAAAMASMXAAXAMAMAMXMXSMSXAAASXSSSMAMXSSMSAXAAAXAXAXXMASXSMMASAXMAMXSMMSAMX
|
||||
XXXSMAXXAAMXAMXXMXASXXMAMXAAASAMSMSMXSSSMAXSXAAMXSASAMAMAMMAMSAMXSMMSXSAMAMSSMMXAAMAASXSXXMSMMMMAMXMASXMAAAMMSSSMMMAMASAMMXAMAXXMASMMSAASAMM
|
||||
XMAXAMSMSMXAXAASMMMXAXXAMSSMMSAMXXMXAMXAXAXASMMSAMMSAMASAMSAMXAXMXAXXAMXSSXXXAXSMSMSMSASXXAXMXMASXXMMMAMMMXXXMAXAXMAMAMXMASMMXSSMAAMASMMSMMA
|
||||
SMMMSXAAAAXMSAMXAMXMAMSMXMAAAMMAMXMMMSSMMMMMXXAMASASXMXMXMSXSSSMAMMMMMMAMMSAXXMXAMMMAMXMAXSASMSMMXXXSSSMXSXMXXASXMSAMXSSSMMXSXAAMMMMASAASMMS
|
||||
SAMXASMSMSXMAMMXXMAAAAAXAXXMMMXMMMSAAMXMAXSXSMSSSMMXMSSSMXSAMAAXXXAAXMMMMAMXMSSMMSMMAMAMXMXASMASAXXXMAMMAMMMMXMAMASASAXMAASAMMSMMAAMMSMMMAXX
|
||||
SAMMMMXMMXAASMSMSSMSMSMSMSSSMSMSMASMXSAXAMSASAAXMAMSAMSASAMMMSMSXSSSMMASMAMAXXAAAAXMASXMSXMXMMAMMXAMMMMMXXAAAAMAAXSMMXXXSMMASMASXSXSMXMASMMM
|
||||
SMMXAAAMXSSMXAAAAMMAXAAAAAAAAAAAMMMSMSAMSMMAMMMXSAMASMSXMMSXAAAXAMXXASASXASXXSSMMASXXXMXMAMMMMXSXXMSAXXXXSSSSXSASASASXXMASXXMXAXXAASAXXMAMAM
|
||||
MAMSMSMSAMXSMMMMMSXMSMSMMMSMMMSMSAAAMMAMXASXXSXAMASMMXMSXXAXSMMMXMASMMMMMXSXAMXMMAXXXXMAMAMAMXMAMAMAMSAMXXMAXAXAMAMAXAXSAMMAMMXSMMMMAMSSSSMS
|
||||
MAMXMAXAMSAMXSSXXXAXSAMXXMMMMAAXSMSMMSAMSAMAXMMXSAMXMMMSXMMAMXSMAMAMAAMSMMMMMMASMASXMMSAXSSMSAASXSMAMSMSMSSMSMSAMXMMMSMMXMXMXSAAMSAMXMXAAMMM
|
||||
SSXSMSXMMMMSAMXASMMMMAMSAMXASMMXXAXXXSSMMAMXMSAMXMMASAASASXMSAASXMXSSMMAAASAXXAMXSAMXMAMXAAASMMXAXMSXMAAAXAAAAMXMAAXAAAMSMXSAMSSMMMXAAMMMSAS
|
||||
XAASAXXXAXXMMMAXXMSAMXMMASXMSAMMMXMMMMMXMXMAMMAMMXXAMMMXAMMXSMMMXMMAMXSSSMSASAXXXMXAXSASMXMMMMAMMMMMAMSMMMMMMSMAMSSMXSXXAAXMAMAMMASAMXSXXSAS
|
||||
SMXMASASMSMAXSMSXMAMSAMSAMMASXMASAAXSXMSSSMAXSAMASMSMSSMAMSMMSXAAXSMMXAAXXMAMAMSSSSXMMAMXSMSMMAXAAASAMXMSAAAXXXXMAXXAXXSMSMSMSAXSASAXAMAXMAM
|
||||
AAXMSMAAAXMXMASMASAASAMMSSMAMAMAXMXMMAAAAXMAXXMXMXAXAAAXMMXXAMXMMXMAMMMMMMMMMSMXAAAASMMMSAAXXSMSSSMSXSAXASXXMSXSAXXMMSAMAMAAASAMMASXMMMSMMMM
|
||||
MMMMXMSMMMSAXMASAMSMSXMAAXMAMSMSSSXAMMMMSMMSMSSSSMMMMMSXSASMSSSMSASAMAAAAXMAAMAMXMSAMASXXMMMMMAAAXAMAMMSMXSAAMASXSMXAMMMAMSMXMAMMAMXASAMAMAS
|
||||
XAAXAAAAAAMSSSMMXXXXXAMXMMXASMAXAMXSAMXXXAMXAAAAMAAXXAXMMASAMAMXSMXASXSSSSSMXSASXXMAMAMXAXMAAAAMMMASMMAAXAMMMMAMASASXSMSMMAXSAXMMASXXMASAMAX
|
||||
SSSSMMSSMXSAXXXXMMMSMMSAXSMXAMXMAMAMASXSSMMMMMXMXSMSMMMMMAMAMAMXMXSMMMAMMMMAMSASXSMXMASXSMSXXSSXXMXAXMASMSSSMMASMMAMAAAASAMXMAAXXMAXXMASAMMS
|
||||
AAXAMXXAASAMXMMSAXAXAASAMXMAASXMMMXSAMMMAXXAAMASAMXXAAASMMSXSASMMAXAAMMMAMMAMMAMAAXASXSAMXAMMMMMSMSMMMMXMMAAXSMSAMXMSMMSAMXXMAMXXMASXMXSXMSA
|
||||
MMMMMXMAXAMXMSASMMMXMMSMMAXXMMAAXAAMAMMXMMSSMSASAMMSMSMSAAAXSAMAMAXSMMXSAMXAXMAMXMSASAMXMMASAAAAAXAXAXMASMSMMSXSMMXMXXXMASXMXMSXSMASASAXMXXM
|
||||
MSAAXSMMSAMAMMAMXAMAXASAMMXSAMSMMXMSSXSASMMAAMXMAMAAAMXMMMSMMAMSMSXMASXSASMMXSASMXMAXMAMXMASMSMSSSMXSASASXMAXXMXMXMASXSMAMAXMASAAMXMMMAMSMAX
|
||||
SSMSXSAAXXMASXSXSASMSASAMAAMAMMMSXXXAASAMXMSMMSSMMXSAMAXSAMXMMMXAXASAMAMXMAMAMMMAXMAMMAMAMMSAXXMMXXAXXMAMXMSSSMSXXAAXXXMASXMASMMMSSMXMSAASXM
|
||||
XXAAMMMMSMSASAXAMAAXMASAMMSSMMMAMAMMMMMAMXAMXAAAAAMMAMXXMASXMMSMXMASAMXMASMMMSSSSSMAMSASXSSMMMASASASMSMSMSAAAAAMMMMMSMMMASAMSXAXAAXMAAXSMSXM
|
||||
MMMMAAAXAMMASMMXMSMSAMXXXXAAASMAMXMASXSSMMSMMMSSMMMSAMSXSAMXAAAAASXSAMXSASAAXAAAAAXAMSAMAMXAMSXMASAMSXAAAMMMSMMMAAAXXMASXSMMASMMMSASMSMAXMMS
|
||||
XMMXSMSMMSMAMXXXXXMAMSAMXMSSMMSMSASMSXXAXAXXMAXXMSAMXXXXMASAMSMSAMXSXMAMXSXMMMSMSMMMMMAMAMSSMMMMAMAMAMSMXMXXMXMASMMSAMXAASAMXSXXXXMXAMMAMXSX
|
||||
10
2024/day04/input_small.txt
Normal file
10
2024/day04/input_small.txt
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
MMMSXXMASM
|
||||
MSAMXMSMSA
|
||||
AMXSXMAAMM
|
||||
MSAMASMSMX
|
||||
XMASAMXAMM
|
||||
XXAMMXXAMA
|
||||
SMSMSASXSS
|
||||
SAXAMASAAA
|
||||
MAMMMXMMMM
|
||||
MXMXAXMASX
|
||||
123
2024/day04/src/lib.rs
Normal file
123
2024/day04/src/lib.rs
Normal file
|
|
@ -0,0 +1,123 @@
|
|||
use helper::{Day, Variants};
|
||||
|
||||
pub fn main() {
|
||||
helper::main::<Day04>(include_str!("../input.txt"));
|
||||
}
|
||||
|
||||
struct Day04;
|
||||
|
||||
helper::define_variants! {
|
||||
day => crate::Day04;
|
||||
part1 {
|
||||
basic => crate::part1;
|
||||
}
|
||||
part2 {
|
||||
basic => crate::part2;
|
||||
}
|
||||
}
|
||||
|
||||
impl Day for Day04 {
|
||||
fn part1() -> Variants {
|
||||
part1_variants!(construct_variants)
|
||||
}
|
||||
|
||||
fn part2() -> Variants {
|
||||
part2_variants!(construct_variants)
|
||||
}
|
||||
}
|
||||
|
||||
fn part1(input: &str) -> u64 {
|
||||
const XMAS: &[u8] = b"XMAS";
|
||||
const SAMX: &[u8] = b"SAMX";
|
||||
let mut count = 0;
|
||||
|
||||
let lines = input
|
||||
.lines()
|
||||
.map(|line| line.as_bytes())
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
// Horizontal rows
|
||||
for line in &lines {
|
||||
for i in 0..line.len() {
|
||||
if line[i..].starts_with(XMAS) || line[i..].starts_with(SAMX) {
|
||||
count += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let line_length = lines[0].len();
|
||||
|
||||
let cols = (0..line_length).map(|i| lines.iter().map(|line| line[i]).collect::<Vec<_>>());
|
||||
|
||||
for col in cols {
|
||||
// dbg!(std::str::from_utf8(&col));
|
||||
for i in 0..col.len() {
|
||||
if col[i..].starts_with(XMAS) || col[i..].starts_with(SAMX) {
|
||||
count += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let all = lines
|
||||
.iter()
|
||||
.flat_map(|line| *line)
|
||||
.copied()
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
for i in 0..all.len() {
|
||||
if i % line_length >= (line_length - 3) {
|
||||
continue;
|
||||
}
|
||||
(|| {
|
||||
let offset = line_length + 1;
|
||||
let a = *all.get(i)?;
|
||||
let b = *all.get(i + offset * 1)?;
|
||||
let c = *all.get(i + offset * 2)?;
|
||||
let d = *all.get(i + offset * 3)?;
|
||||
let chunk = [a, b, c, d];
|
||||
if chunk == XMAS || chunk == SAMX {
|
||||
count += 1;
|
||||
}
|
||||
|
||||
Some(())
|
||||
})();
|
||||
}
|
||||
|
||||
for i in 0..all.len() {
|
||||
if i % line_length < 3 {
|
||||
continue;
|
||||
}
|
||||
(|| {
|
||||
let offset = line_length - 1;
|
||||
let a = *all.get(i)?;
|
||||
let b = *all.get(i + offset * 1)?;
|
||||
let c = *all.get(i + offset * 2)?;
|
||||
let d = *all.get(i + offset * 3)?;
|
||||
let chunk = [a, b, c, d];
|
||||
if chunk == XMAS || chunk == SAMX {
|
||||
count += 1;
|
||||
}
|
||||
|
||||
Some(())
|
||||
})();
|
||||
}
|
||||
|
||||
count
|
||||
}
|
||||
|
||||
fn part2(_input: &str) -> u64 {
|
||||
0
|
||||
}
|
||||
|
||||
helper::tests! {
|
||||
day04 Day04;
|
||||
part1 {
|
||||
small => 18;
|
||||
default => 0;
|
||||
}
|
||||
part2 {
|
||||
small => 0;
|
||||
default => 0;
|
||||
}
|
||||
}
|
||||
helper::benchmarks! {}
|
||||
3
2024/day04/src/main.rs
Normal file
3
2024/day04/src/main.rs
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
fn main() {
|
||||
day04::main();
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue