diff options
author | Santo Cariotti <santo@dcariotti.me> | 2024-02-09 11:42:04 +0100 |
---|---|---|
committer | Santo Cariotti <santo@dcariotti.me> | 2024-02-09 11:42:04 +0100 |
commit | db2686c798378738020a0951a521358586e21aa0 (patch) | |
tree | 8d585ceb9bdc302ae10a2458cc343be40d60acb7 /2023/day13 | |
parent | 67dff579e91c13ef40ecb17d14497d145861c5e7 (diff) |
Add day2 in OCaml
Diffstat (limited to '2023/day13')
-rw-r--r-- | 2023/day13/Cargo.toml | 8 | ||||
-rw-r--r-- | 2023/day13/example.txt | 15 | ||||
-rw-r--r-- | 2023/day13/input.txt | 1361 | ||||
-rw-r--r-- | 2023/day13/src/lib.rs | 146 |
4 files changed, 0 insertions, 1530 deletions
diff --git a/2023/day13/Cargo.toml b/2023/day13/Cargo.toml deleted file mode 100644 index 36c9510..0000000 --- a/2023/day13/Cargo.toml +++ /dev/null @@ -1,8 +0,0 @@ -[package] -name = "day13" -version = "0.1.0" -edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] diff --git a/2023/day13/example.txt b/2023/day13/example.txt deleted file mode 100644 index 3b6b5cc..0000000 --- a/2023/day13/example.txt +++ /dev/null @@ -1,15 +0,0 @@ -#.##..##. -..#.##.#. -##......# -##......# -..#.##.#. -..##..##. -#.#.##.#. - -#...##..# -#....#..# -..##..### -#####.##. -#####.##. -..##..### -#....#..# diff --git a/2023/day13/input.txt b/2023/day13/input.txt deleted file mode 100644 index 023748d..0000000 --- a/2023/day13/input.txt +++ /dev/null @@ -1,1361 +0,0 @@ -######....####### -..#...####...#..# -.###.#....#.###.# -....##.##.##....# -.##....##....##.. -.####...#..####.# -##..#..##..#..### -..#.########.#... -#..#.######.#..#. -.##..#.##.#..##.. -###.#.####.#.###. -###.#.####.#.###. -.##..#.##.#..##.. -#..#.######.#..#. -..#.########.#... - -......##....# -.#.#.##...#.# -.##.#..#..#.# -.##.#..#..#.# -.#.#.##...#.# -......##..#.# -....#.#....#. -...#.###...## -.#.##.#.###.. -###.....##.## -#.##..##...#. -###.#..##.##. -#..#######..# -#..#######..# -###.#..##.##. - -#.#.#.#.. -#.#.#.##. -#.#.#.##. -#.#.#.#.. -...#..... -#..#.##.. -....#...# -####....# -#####.... -.###.#.## -####...## -.#.#...#. -#....#.#. - -.########..## -.###..###.#.# -###....###.## -#...##...##.# -.########.#.. -#...##..##### -#.##..##.#... -....##....#.. -....##....#.. - -.........##..#..# -.#....#.######.## -.#....#.######.## -.........##.....# -.######.#..#.#..# -##.##.###.##..#.# -#########...#..#. -###..###...#.#### -#......#....#..#. -##....##.....###. -..####..##.#....# -.............#.#. -..#..#...####.... - -##......##. -....##..... -##..##..##. -..#.##.#... -..........# -..##..##... -####..####. -####..####. -#.##..##.#. - -......#..###### -######.#....... -.####.###..##.. -..##..##.#....# -.####.#...#..#. -..##..#.##....# -#.##.##..#....# -##..####....... -.####..#.###### -##..##..#.....# -......####.##.# -#....#......... -######..##....# -######....#..#. -#....#####....# - -##........... -..########### -##..###..###. -##.########## -..#.......... -##...#....#.. -..###..##..## -##.##.#..#.## -..#.###.####. -###.###..###. -....#..##..#. -##.#.#....#.# -...####..#### -....#.####.#. -##.##......## - -#.#....##.. -#..##...#.# -#.###..##.# -#.###..##.# -#..##...#.# -#.#....##.. -.#..####.#. -..#..###### -#..###.#.#. -.#.######## -.#.######## -#..###.#.#. -..#...##### - -....###.#.##..# -....###.#.##..# -#.##..####..... -#.##.....##..## -.#..##....#.##. -.#......##.#.#. -....#.#...###.# -....#.#...###.# -.#......##.#.#. -.#..##....#.##. -#.##......#..## -#.##..####..... -....###.#.##..# - -#..#..#..##.. -#.##......... -#.##......... -...#..#..##.. -##..#.#.###.. -#.#.######### -...#.##....## - -..########..#.### -....####....#.#.. -........#...###.. -..##....##...##.. -####....####.#.## -###..##..###.#.## -#....##....###.## -###......####.#.. -#.##.##.##.##..## - -.####.##. -......##. -..##..... -..##..##. -#....#..# -##..##..# -#....###. -##..##..# -##..##### - -####..####### -.##....##..## -..######....# -..##..##....# -#...##...##.. -#.#....#.##.# -#.######.##.# -###....###### -###.##.###### -.#..##..#..#. -##....#.####. - -###.#.#..#.#.## -##..##....##..# -..#.########.#. -##.#..#..#..#.# -###..##..##..## -##.#.#....#.#.# -..#.#......#.#. -####.######.### -##.##.#..#.#### -..##.#....#.##. -..#.##.##.##.#. -..#.#.#..#.#.#. -###.########.## -###.#......#.## -##...#.##.#...# - -#...... -##..### -##..##. -#..#... -..##... -###.#.. -.##.### -..#.... -#....## -#....## -..#.... - -.#####....##.#... -..####....##.#... -##.#.####..#.###. -##...##...#..#.#. -##...##...#..#.#. -##.#.####..#.###. -..####....##.#... -.#####....##.#... -.#..##......###.. -#.#####...###.##. -....#..#.#..##### -..###....##...... -.#...###...#.##.# -#...#.....#..##.# -#..##.###.#..#.#. -.#...#....###.#.. -##..#..###......# - -###.##.## -##.####.# -##.#..#.# -####..### -....##... -##.#..#.# -...#..#.. -##..###.# -##......# -##......# -..#.##.#. -...#..#.. -##.####.# -....##... -...####.. -....##... -##.####.# - -###..##.# -#####.... -.##.#.##. -#.#.###.. -##...#..# -#.#.##.#. -#####.##. -###.#.... -###.#.#.. -###.#.#.. -###.#.... - -..#...# -..#...# -.....#. -#.#.#.# -.###.#. -###.#.. -##....# -#.#.#.# -###..#. -.###..# -.###..# -###..#. -###.#.# -##....# -###.#.. -.###.#. -#.#.#.# - -.###..... -...###..# -....##.#. -#.#..###. -#.#..###. -....##... -...###..# -.###..... -.###..... -...###..# -....##... - -########...##.# -########.#.#... -##.##.####.#### -########.##...# -#......##..#### -##....##.###..# -##.##.##.##..## -##....###..#### -###..#####..##. -..####...#####. -..####...#####. -..####......#.# -#########.##..# -..........##.#. -..#..#...###..# - -###.#.###.... -####...##..#. -..#..##...##. -..##.#######. -###.#.####..# -##.....####.. -...####..#..# -..###.#.#.##. -##....###...# -..##..##.#### -###.##.####.# -..####.....## -...#.#..#.#.. -...#.#....#.. -..####.....## - -#..#... -.##...# -.##..#. -.##..## -.##.#.# -.##.#.# -.##..## -.##..#. -.##.... -#..#... -....#.# -.##.... -####.## -####.#. -....### - -#.#..#.#.#.....#. -...##...#.#.#.#.# -.######.#.......# -..#.##..#..###.## -###..####.##.#..# -#......######.... -############.#.## -.#.##.#...#.##### -.#.##.#.##..#.#.. -.........#.#.#.## -........#.#.#..## -###..####.##.#..# -.##..##..#.###..# -.##..##..#.###..# -###..####.##.#..# -........#.#.#..## -.........#.#.#.## - -###.####.###### -....#.......##. -.#..####..#.##. -#.##.##.##.#### -.#..#..#..#.... -..#..##..#..##. -#...####...#..# - -....### -#...#.# -.###### -..##### -....#.. -.###.## -.##.#.. -..#.... -....#.. -..##### -.#...## -#...### -#...### -.#...## -..##### - -####.###..###.# -#.##.########.# -....##......##. -...##..#.##..## -....##.#..#.##. -##..#.#....#.#. -......##..##... -#..##........## -..#...#....#... -.##...#.##.#... -.##...#.##.#... -..#...#....#... -#..##........## - -.###.#..... -.##.##.#### -.####..#.## -#.##..#.##. -.#####..... -..##...#### -...#..#.##. -...#..#.... -...#..#.... -...#..#.##. -..##...#### - -.....#..#.. -...###..##. -#####.#.#.# -.##..#.#.## -#..#..#.#.# -#..######.# -....##..##. -....##..##. -#..######.# - -##.###.##.# -.##.#####.. -.#..#.##.## -.#..#.#..## -.##.#####.. -##.###.##.# -.#....#.### -.#....#.### -##.###.##.# -.##.#####.. -.#..#.#..## -.#..#.##.## -.##.#####.. -##.###.##.# -#..#..#.#.# - -###..###.#.## -.##..###.#.## -..###.#.#..#. -.#......####. -#...#...###.. -.#.#####.##.# -.#.#####.##.# -#...#...###.. -.#......####. - -.##.##...##...##. -#####..##..##..## -.....##..##..##.. -.##.#.#.####.#.#. -.##...#.#..#.#... -....#..........#. -#..#..#......#..# -....###.....####. -.##...#.#..#.#... -.....#..####..#.. -#..#...##..##...# -....#...#..#...#. -#..#.##########.# -#..##...####...## -#####.##.##.##.## - -...##...####### -.##..#..##..... -.#....#....#..# -.##..##.....##. -###..####.#.... -##.##.##.###..# -########.###..# -.#....#.###.... -#.#..#.##..#..# -..........##..# -########.##.##. - -..##..... -...###..# -#...##..# -.###.#### -##...#### -##....... -...##.##. -#..#..##. -...#..... -...#..... -#..#..##. -...##.##. -##....... -##...#### -.###.#### -#.#.##..# -...###..# - -.#..##..#.##... -..#.##.#..##### -.##.##..#..#.#. -.########.###.# -..#....#..#.##. -##..##..###.... -##..##..###.... -..#....#..#.##. -.########.###.# - -#####..###.#.## -###....##.#..## -##....####..... -...#.#..##.#.#. -..#.#..#.#..... -...#..###..#..# -..##..###..#..# -..#.#..#.#..... -...#.#..##.#.#. -##....####..... -###....##.#..## -#####..###.#.## -..###...#....#. -##.#...#..##... -###.#...##.#.#. -..###.#....#.#. -..#####...###.# - -..##.####..#..# -..#.###..##.##. -##.#..##.###..# -##.#.#.####.... -###..#.#.##.... -####.#.##.##..# -##.##....###..# -###########.... -..#.##..####..# -...##..#.#.#..# -....####.###### -..#...#.#.#.##. -###...##..##..# -##.#...#.#.#..# -##.#.#.....#### -..##..###.##..# -##.#.#....####. - -#..#..##... -#..#..##... -.#..#.#...# -#...##..### -###.###.### -##...##.### -..##...##.. -##....#.#.. -#.#...###.. -###.#...#.. -......##... - -#....###. -#....###. -.#..#.### -#....##.. -.......#. -#.#..###. -#.##.#.#. -.......#. -.####.##. -##..##.## -.####.#.# - -....#.##### -..#.#...... -###.##..##. -..#.#...... -.....#.#..# -.#...#.##.# -..###...... -#..#####..# -#.##...#### -##.###..##. -.#.##..#..# -..####.#..# -#......#### -##....#.... -#####..#### -#####..#### -##....#.... - -....#........ -#..#.#.#...#. -....#.......# -.##..#.##.... -....##...#### -#..#.##..###. -####.##....#. -####.#.#..##. -......#....## -....###..##.# -.##..#.#....# -.##..#.##...# -....###..##.# -......#....## -####.#.#..##. - -....### -.#.#### -..####. -##.#.## -##.#.## -..####. -.#.#### -....### -###...# -###...# -.....## - -.#...###... -..#.####### -#..#.##.### -....##..... -..#.##..### -...#.##.### -.#.##.#.... -.##.#..##.. -#.####...## -#.##....... -#.##...#... -#.####...## -.##.#..##.. -.#.##.#.... -...#.##.### - -.#..#.### -#....#... -######... -#....##.. -.######## -######... -##..##### -.#..#.#.. -.......## - -##....#.##..##. -#...#####.####. -.#.##.#....#..# -#.....#####.... -.#...#....####. -#.#..#...#..#.# -#.#..#...#..#.# -.#...#....####. -#.....#####.... -.#.##.#....#..# -##..#####.####. -##....#.##..##. -.##...#..#...## -#.######..##.## -........#####.. -........#####.. -#.######..##.## - -.#..#.#...##.#. -..#..#....#.### -#.#.#..#.#.##.. -#....##....#### -#.###.#.##.##.# -##..#...###...# -##..#...###...# -#.###.#.##.##.# -#....#.....#### -#.#.#..#.#.##.. -..#..#....#.### -.#..#.#...##.#. -.#....##.####.. -#.#.#####.#...# -#.#.#####.#...# - -.#.####.####.## -.#.#.#........# -###.#...#..#... -###.#...#..#... -.#.#.#........# -.#.####.####.## -..##..##.##.#.. - -#..####.#.##...## -.....###.#####..# -......##.#..##.## -....#.#.#.##.#..# -....#.#.#.##.#..# -......##.#..##.## -.....###.#####..# -#..##.#.#.##...## -#..####.#.#.####. -.##.####.#.#...#. -.##.###...##..##. -####.#.#...#.#..# -####.#.###.#..### -#..#####....##.#. -#..#####.#..##..# - -#.####.#### -##....##..# -#......#### -.#.##.#.... -..####..##. -..####..##. -.#.##.#.... -.#.##.##..# -.##..##.##. -..####..... -#.####.#..# - -..#.#..#.###....# -.#.######.##...## -#.#.###..##..###. -.#...#####.#..#.. -#.##.#.#..#.#..## -#.##.#.#..#.#..## -.#...###.#.#..#.. -#.#.###..##..###. -.#.######.##...## -..#.#..#.###....# -..#.#..#.###....# - -....#.##... -.#.#..#..## -.#.#..#..## -....#.###.. -.......#.## -..##.#...## -...#.#..... -####..#...# -#..#.#...#. -#..#.#...#. -####..#...# -...#.#..... -..##.#...## - -..######... -..#.##.#..# -#.##..##.## -#.##..##.#. -..#.##.#..# -..######... -##..##..##. -.#..##..#.. -.#..##..#.# -###....#### -..#.##.#... - -#......####.. -..#..#......# -.##..##.##.## -.#.##.#....#. -..#..#..##..# -#..##..####.. -##.##.######. -########..### -#..##..##.#.. -.##..##....## -.##..##....## -.######....## -...##...##... - -.####..## -..####### -.#......# -##..#.#.. -####..#.. -..#....#. -..#....#. -####..#.. -##..#.#.. -.#......# -..####### -.####.### -#..#.##.. -#..#.##.. -.####.### - -#.#..#..#...... -##...####..#.## -####..#.#..#.## -.##..###.#.#..# -..#.##.####.... -.#..##..##.##.. -##.###.##.#.### -#..#.#..#.##.## -##..#####....## -####..#.####..# -#.....#.####.## -......###....## -..#...###....## -.##.##.###..### -.##.##.###..### -..#...###....## -......###....## - -####..#.. -.....##.# -...###... -.....#.## -....##.#. -##.#.#.## -##.#.#.## -....##.#. -.....#.## -...###..# -.....##.# - -######...###... -#.##.#.##....## -......##..###.# -#....##....#.#. -.......##...#.# -#######.#...#.# -#######.#...#.# -.......##...#.# -#....##....###. -......##..###.# -#.##.#.##....## -######...###... -.####.##..####. -#.##.#..###.... -..##.....##.#.# - -#.######.##.#.# -#..####..#.###. -..........#.#.. -..#.##.#....... -..#.##.#....... -..........#.##. -#..####..#.###. -#.######.##.#.# -###....#######. -...#..#.....#.# -.#..##..#.###.# -.##.##.##.#..## -.#.####.#...##. - -##.#..#..##..#..# -##.#..##....##..# -#.#....#.##.#.... -....##.##..##.##. -###.##..#..#..##. -.#####...##...### -...#####.##.##### - -###..####.. -##...#..... -##...#..... -###..####.. -#.#......## -.##....#.## -.###.#....# -#..##....## -.##......## - -........#..## -........#.### -........#..#. -#######.#..#. -.#..#...####. -##..###.###.# -#.##.#....### -########..... -#....##.....# -##..###..###. -.#..#.#.####. -......####..# -..##..##.#... - -....#.#..##.#.#.# -....#.#..##.#.#.# -..#####.##...#.#. -###..#..##....#.# -###.#....#...#### -#..#..#.#...###.. -#....###.#.###### -..#..##.#..#..##. -..#..##.#..#..##. -#....#.#.#.###### -#..#..#.#...###.. -###.#....#...#### -###..#..##....#.# -..#####.##...#.#. -....#.#..##.#.#.# - -...#.##...### -...#.##...### -...##.###..## -.##..#.##...# -#..#..#.#..## -.#....##.#.## -..#.#.###..#. -..#.#.###..#. -.#....##.#.## -#..#..#.#..## -.##....##...# -...##.###..## -...#.##...### - -###.######. -##.#.####.# -..#.#.##.#. -..#.#.##.#. -...#.#..#.# -..##.#..#.# -##...####.. -..###....## -###.#.##.#. -##.#.#..#.# -##......... -####.####.# -###..#..#.. -..#......#. -....#....#. - -#..###.##..##.# -.##...#......#. -##.###.##..##.# -##.#.########## -###.##.######.# -#.#...#......#. -..#..#........# -..#..#........# -###...#......#. - -..#.####. -..##.##.# -###.#..#. -#.#...... -.....##.. -.#.###### -.######## - -..#..#..###...##. -#####.#...#..#... -.......#.#.#.##.# -#...#.........##. -.#.##.#.....#.... -.#.##.#.....#.... -#...#.........##. -.......#.###.##.# -#####.#...#..#... -..#..#..###...##. -#..#..#...#...### -#.#.#.###.#...#.. -#.#.#.###.#...#.. - -....#..#..... -##........### -#....##....#. -##........##. -...#.##.#.... -####....####. -.....##...... -....#..#..... -..##.##.##... -..##.##.##... -...##..##.... -.....##...... -####....####. - -...........#. -.........#.#. -##.##.##..### -.........##.# -#..##..###### -#.#..#.#..#.# -..####..#.#.. -..#..#..#.### -#.#..#.#...#. -.##..##....#. -########.#.## - -.##......##..##.# -.##......##..#..# -.#...##...#.#.... -...#....#...#...# -.#.##..##.#..#.#. -..##.##.##......# -###..##..###..### -.####..####.#.#.# -............##.## - -...##....##.... -.####.##.####.. -.####.##.####.. -##..##..##..### -.#.#.#..#...#.. -##.#.####.#.### -#..#..##..#..## -#.#........#.## -#...##..##...## -#....#..#....## -...#.#..#.#.... -##.###..###.### -####.####.##### - -..#...##...#. -#.##.####.##. -##.#..##..#.# -....######... -....##..##... -...#.#..#.#.. -##.#.####.#.# -..###.##.###. -###.#.##.#.## -..#..####..#. -....#.##.#... - -#......##..##.. -#.####.#.###### -...##....##..## -...##...#.#..#. -##....##.##..## -..#..#.###.##.# -#.####.#.#....# -##....##.##..## -.#....#...#..#. -...##...#.####. -#.#..#.#.#.##.# -..####..#.#..#. -#########.#..#. -...##.......... -.##..##....##.. -.######..###### -###..###....... - -#..#......#.# -#####.#..#.## -....###..###. -#..##.####.## -.##..#....#.. -#..##.####.## -.##..######.. -#..##..##..## -####..#..#..# -.......##.... -.....##..##.. -######.##.### -.##.########. - -######.#. -##..#.#.. -##..###.# -##.##.#.. -.##...##. -#....#### -#....#### -.##...##. -##.##.##. -##..###.# -##..#.#.. -######.#. -######.#. - -.##..#### -.###.##.# -.####.... -..#.###.. -.#..#.... -.######## -.##.##... -.###..### -.##..#### -##.#..... -##.#..... - -#..#.#....#...... -######.######.##. -####..####...##.# -.##...##.####.#.. -.##...##.####.#.. -####..####...##.# -######.######.##. -#..#.#....#...... -###.#######.....# - -#..##.###.##### -#..######.##### -.####.##.#.##.# -..#.##...#.#.## -#..######...#.. -#..######...#.. -..#.##...#.#.## -.####.##.#.##.# -#..######.##### -#..##.###.##### -####.####.#..#. - -.........####.##. -#####.#.#..#.##.# -.##.##...#...#.#. -#..#...#.#.....#. -#..#...#.#.....#. -.##.##...#.#.#.#. -#####.#.#..#.##.# - -.##..###### -#####.####. -#..##.#..#. -.###.###### -.##.##....# -#####...... -.##.#...... -.##........ -####...##.. -####....... -#..##..##.. -.##..###### -####.##..## -......#..#. -.##.#.####. -....####### -#####.#..#. - -#.##.#..##..#.# -.#..#..####..#. -.#..###....###. -#######....#### -.####.##..##.## -.#..#........#. -##..####..####. -#.##.###..###.# -#.##.##.##.##.# -.#..#..####..#. -.####..####..## -.#..#.######.#. -......#.##.#... -##..##.#..#.##. -.####.##..##.## - -###.####..# -##.#......# -...#..#...# -...#..#...# -##.#......# -##..####..# -##.#.#.#..# -..###.###.# -####.#.###. -##..#.#.### -...#....#.. - -.###..##..### -..#.##..###.. -##..#.#####.. -##..#.#####.. -..#.###.###.. -.###..##..### -..###....#.#. -...###..##..# -..#..#..#..#. -.##..##.....# -.##..##.....# - -...#.#..# -###..##.. -...#.##.. -##......# -##......# -...#.##.. -###..##.. -.....#..# -##.##.### -######.#. -.....#### - -.##...####### -....##.#.##.# -.##...##..... -.##..#..####. -######..####. -.##..##..##.. -.##.#..#....# -####..#..##.. -....#...####. -....#....##.. -#..#.##...... - -..##..# -.#.#..# -.#..##. -..##..# -..##..# -.#..##. -.#.#..# -..##..# -##.#### -.#.#..# -#.#.##. -.##.##. -#..#### -#.##... -#...... - -###.##....##.#### -###..######..#### -.....#.##.#...... -.#.###.##.###.#.. -..#.##....##.#... -###..#.##.#..#### -###..#....#...### -.#.#........#.#.. -.#..#.#..#.#..#.. - -.##.#.##..... -#.##.#.###... -#....##...#.. -....##.#..### -#.#.#.#...### -.#..###...#.. -##.....#...## -......#..#... -.##.#..###.## -#.###.#.#..## -#.#####...### -..#.#....##.. -..#.#..#.##.. -#.#####...### -#.###.#.#..## - -...##.#######.... -.....#..#..###### -##..#..###....#.. -##.#.#..##.###.## -..#.#.#..##.###.. -..#..#..##.##.#.. -.##..#..#..#.#.## -##...##..###..... -.......#.#.###### -####.##.#...#..## -###.#.#.##..##.## - -##.#.#..... -.#..###.#.. -####.#..### -##.....#... -.#.#.#...## -##...#.#### -..###...### -####..#.... -####.##.... -..###...### -##...#.#### - -###.#..#.## -..#......#. -...#.##.#.. -##..#..#.## -####.##.### -..###..###. -##.#....#.# -###......## -...#.##.#.. -####.##.### -###..##..## -##.##..##.# -...#....#.. - -#..###...####.. -#.####...####.. -##.###...####.. -...#..#..#..#.. -##...###..##..# -.##.##..#.##.#. -.#.#.#.###..### -#####.#.######. -.###.####....## -####...######## -.#..#.###....## -#........#..#.. -#..#.#.######## - -#...#..######.# -#.#...#....##.. -#.#...#....##.. -#...#..######.# -###.####.###... -.#.#..#..#..#.. -.#.#.###...#..# -######..#..#.#. -.#.####..#....# -#.....#..#.#.## -.##...#.#.....# -##...###..#.##. -...#...##.#..#. -#.#.#..#.##.#.. -#.#.#..#.##.#.. -...#...##.#..#. -##..####..#.##. - -#.#.##..#.. -...###..### -.####.##.## -##..##..##. -##.######## -.###.####.# -####......# -.#...#..#.. -###...##... -##...#..#.. -##.#.#..#.# -##.#.#..#.# -##...#..#.. - -..#.##.###. -..#.##.###. -#.######.## -.#..#..###. -.#.#....... -.#.#....... -.#..#..#.#. -#.######.## -..#.##.###. - -###........###### -..#.#....#.#....# -.#.##....##.#..#. -###.##..##.###### -...##.##.##...... -..##......###..## -.#.########.#..#. -.##..#..#..##..## -##..#....#..####. -.##.#.##.#.##..## -.###..##..###..## -##.#......#.####. -###........###### -.#.########.#..#. -.##...##...##..## - -#.#.#.#..#.###. -##....##.#.#... -#.#.###.#.....# -..##.##..###.## -..############# -..#######....## -..#....##.####. -..#....##.####. -..#######....## -..############# -..##..#..###.## -#.#.###.#.....# -##....##.#.#... -#.#.#.#..#.###. -#.#.#.#..#.###. - -........###.###.# -........###.###.# -.#.##.#..##..#.#. -###..###.#.#.##.# -##..#.##.#####... -..#..#..#..###.## -...##....#.##..## -##....##.####.... -#.#..#.##.#.##..# - -....#.#.###.#.. -.##........#### -.##.##..#.##.## -####.#...#..#.. -.......##.##.## -####..##.#..### -.##..###..##.## -...#.##.#....## -....####.#.#... -#..#######..#.. -#..###....#.### -.....#..#.#.### -.##...#.###..## -.......#..##.## -#..#..##...#### -.##.##.###..... -#..#.##.#.#.... diff --git a/2023/day13/src/lib.rs b/2023/day13/src/lib.rs deleted file mode 100644 index 03af2b8..0000000 --- a/2023/day13/src/lib.rs +++ /dev/null @@ -1,146 +0,0 @@ -pub fn part1(input: &str) -> u32 { - let mut res: u32 = 0; - - let m: Vec<Vec<String>> = input - .trim_end() - .split("\n\n") - .map(|x| { - x.split('\n') - .map(|y| y.chars().collect::<String>()) - .collect() - }) - .collect(); - - for s in m { - let n = s.len(); - - // Search by column - // 012345678 - // >< - // #.##..##. - // ..#.##.#. - // ##......# - // ##......# - // ..#.##.#. - // ..##..##. - // #.#.##.#. - // >< - // 012345678 - // - let m = s[0].len(); - let mut mc = 0; - for i in 0..m { - let mut j = m - 1; - while j > i { - let mut s1 = String::new(); - let mut s2 = String::new(); - for k in 0..n { - s1.push(s[k].chars().nth(i).unwrap()); - s2.push(s[k].chars().nth(j).unwrap()); - } - if s1 == s2 { - mc = std::cmp::max(mc, i); - } - j -= 1; - } - } - - let mut check = true; - - let mut i = mc; - let mut j = mc + 1; - - while i > 0 && j < n { - let mut s1 = String::new(); - let mut s2 = String::new(); - for k in 0..n { - s1.push(s[k].chars().nth(i).unwrap()); - if j >= s[k].len() { - break; - } - s2.push(s[k].chars().nth(j).unwrap()); - } - if s1 != s2 { - check = false; - break; - } - i -= 1; - j += 1; - } - - if check { - res += (mc + 1) as u32; - continue; - } - - // Search by row - let mut mc = 0; - for i in 0..(n / 2) + 1 { - for j in ((n / 2)..n).rev() { - if s[i] == s[j] { - mc = std::cmp::max(mc, i); - } - } - } - - let mut check = true; - - let mut i = mc; - let mut j = mc + 1; - - while i > 0 && j < n { - if s[i] != s[j] { - check = false; - break; - } - i -= 1; - j += 1; - } - - if check { - res += (mc + 1) as u32 * 100; - continue; - } - } - - res -} - -// pub fn part2(input: &str) -> u32 { -// let mut res: u32 = 0; -// -// res -// } - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn example_part1() { - let input = include_str!("../example.txt"); - let result = part1(input); - assert_eq!(result, 405); - } - - #[test] - fn input_part1() { - let input = include_str!("../input.txt"); - let result = part1(input); - assert_eq!(result, 2331); - } - // - // #[test] - // fn example_part2() { - // let input = include_str!("../example.txt"); - // let result = part2(input); - // assert_eq!(result, 2286); - // } - // - // #[test] - // fn input_part2() { - // let input = include_str!("../input.txt"); - // let result = part2(input); - // assert_eq!(result, 71585); - // } -} |