diff options
| author | Sebastiano Tronto <sebastiano@tronto.net> | 2024-12-15 09:14:09 +0100 |
|---|---|---|
| committer | Sebastiano Tronto <sebastiano@tronto.net> | 2024-12-15 09:14:09 +0100 |
| commit | 9ecea0012b98f42debd536dc863b4ef2501eb859 (patch) | |
| tree | 300c71eb7e7c2c5c749eb3cc0b35a955d32385f2 | |
| parent | e2a90aab7febe9ca73661d17a26fcb0dd10a68a7 (diff) | |
| download | aoc-9ecea0012b98f42debd536dc863b4ef2501eb859.tar.gz aoc-9ecea0012b98f42debd536dc863b4ef2501eb859.zip | |
fixed old code for non-square maps
| -rw-r--r-- | 2024/04/day04a.cpp | 4 | ||||
| -rw-r--r-- | 2024/04/day04b.cpp | 4 | ||||
| -rw-r--r-- | 2024/06/day06a.cpp | 4 | ||||
| -rw-r--r-- | 2024/06/day06b.cpp | 6 | ||||
| -rw-r--r-- | 2024/10/day10a.cpp | 4 | ||||
| -rw-r--r-- | 2024/10/day10b.cpp | 4 | ||||
| -rw-r--r-- | 2024/12/day12a.cpp | 6 | ||||
| -rw-r--r-- | 2024/12/day12b.cpp | 6 |
8 files changed, 19 insertions, 19 deletions
diff --git a/2024/04/day04a.cpp b/2024/04/day04a.cpp index 887ebef..d108dec 100644 --- a/2024/04/day04a.cpp +++ b/2024/04/day04a.cpp | |||
| @@ -49,7 +49,7 @@ public: | |||
| 49 | cells = new char[M * N]; | 49 | cells = new char[M * N]; |
| 50 | for (int i = 0; i < N; i++) | 50 | for (int i = 0; i < N; i++) |
| 51 | for (int j = 0; j < M; j++) | 51 | for (int j = 0; j < M; j++) |
| 52 | cells[N*i + j] = j < (int)lines[i].size() ? | 52 | cells[M*i + j] = j < (int)lines[i].size() ? |
| 53 | lines[i][j] : out_of_bound; | 53 | lines[i][j] : out_of_bound; |
| 54 | } | 54 | } |
| 55 | 55 | ||
| @@ -73,7 +73,7 @@ private: | |||
| 73 | auto [i, j] = p; | 73 | auto [i, j] = p; |
| 74 | if (i >= N || i < 0 || j >= M || j < 0) | 74 | if (i >= N || i < 0 || j >= M || j < 0) |
| 75 | return out_of_bound; | 75 | return out_of_bound; |
| 76 | return cells[N*i + j]; | 76 | return cells[M*i + j]; |
| 77 | } | 77 | } |
| 78 | }; | 78 | }; |
| 79 | 79 | ||
diff --git a/2024/04/day04b.cpp b/2024/04/day04b.cpp index 3d338d8..6e8a950 100644 --- a/2024/04/day04b.cpp +++ b/2024/04/day04b.cpp | |||
| @@ -49,7 +49,7 @@ public: | |||
| 49 | cells = new char[M * N]; | 49 | cells = new char[M * N]; |
| 50 | for (int i = 0; i < N; i++) | 50 | for (int i = 0; i < N; i++) |
| 51 | for (int j = 0; j < M; j++) | 51 | for (int j = 0; j < M; j++) |
| 52 | cells[N*i + j] = j < (int)lines[i].size() ? | 52 | cells[M*i + j] = j < (int)lines[i].size() ? |
| 53 | lines[i][j] : out_of_bound; | 53 | lines[i][j] : out_of_bound; |
| 54 | } | 54 | } |
| 55 | 55 | ||
| @@ -73,7 +73,7 @@ private: | |||
| 73 | auto [i, j] = p; | 73 | auto [i, j] = p; |
| 74 | if (i >= N || i < 0 || j >= M || j < 0) | 74 | if (i >= N || i < 0 || j >= M || j < 0) |
| 75 | return out_of_bound; | 75 | return out_of_bound; |
| 76 | return cells[N*i + j]; | 76 | return cells[M*i + j]; |
| 77 | } | 77 | } |
| 78 | }; | 78 | }; |
| 79 | 79 | ||
diff --git a/2024/06/day06a.cpp b/2024/06/day06a.cpp index 69b9340..b229c21 100644 --- a/2024/06/day06a.cpp +++ b/2024/06/day06a.cpp | |||
| @@ -55,7 +55,7 @@ public: | |||
| 55 | cells = new char[M * N]; | 55 | cells = new char[M * N]; |
| 56 | for (int i = 0; i < N; i++) | 56 | for (int i = 0; i < N; i++) |
| 57 | for (int j = 0; j < M; j++) | 57 | for (int j = 0; j < M; j++) |
| 58 | cells[N*i + j] = j < (int)lines[i].size() ? | 58 | cells[M*i + j] = j < (int)lines[i].size() ? |
| 59 | lines[i][j] : out_of_bound; | 59 | lines[i][j] : out_of_bound; |
| 60 | } | 60 | } |
| 61 | 61 | ||
| @@ -86,7 +86,7 @@ private: | |||
| 86 | 86 | ||
| 87 | int coord(pair<int, int> p) { | 87 | int coord(pair<int, int> p) { |
| 88 | auto [i, j] = p; | 88 | auto [i, j] = p; |
| 89 | return i >= N || i < 0 || j >= M || j < 0 ? -1 : N*i + j; | 89 | return i >= N || i < 0 || j >= M || j < 0 ? -1 : M*i + j; |
| 90 | } | 90 | } |
| 91 | }; | 91 | }; |
| 92 | 92 | ||
diff --git a/2024/06/day06b.cpp b/2024/06/day06b.cpp index 2498536..cb5d281 100644 --- a/2024/06/day06b.cpp +++ b/2024/06/day06b.cpp | |||
| @@ -62,9 +62,9 @@ public: | |||
| 62 | visited = new int[M * N]; | 62 | visited = new int[M * N]; |
| 63 | for (int i = 0; i < N; i++) { | 63 | for (int i = 0; i < N; i++) { |
| 64 | for (int j = 0; j < M; j++) { | 64 | for (int j = 0; j < M; j++) { |
| 65 | cells[N*i + j] = j < (int)lines[i].size() ? | 65 | cells[M*i + j] = j < (int)lines[i].size() ? |
| 66 | lines[i][j] : out_of_bound; | 66 | lines[i][j] : out_of_bound; |
| 67 | visited[N*i + j] = 0; | 67 | visited[M*i + j] = 0; |
| 68 | } | 68 | } |
| 69 | } | 69 | } |
| 70 | } | 70 | } |
| @@ -111,7 +111,7 @@ private: | |||
| 111 | 111 | ||
| 112 | int coord(pair<int, int> p) { | 112 | int coord(pair<int, int> p) { |
| 113 | auto [i, j] = p; | 113 | auto [i, j] = p; |
| 114 | return i >= N || i < 0 || j >= M || j < 0 ? -1 : N*i + j; | 114 | return i >= N || i < 0 || j >= M || j < 0 ? -1 : M*i + j; |
| 115 | } | 115 | } |
| 116 | 116 | ||
| 117 | void set_cell(pair<int, int> p, char c) { | 117 | void set_cell(pair<int, int> p, char c) { |
diff --git a/2024/10/day10a.cpp b/2024/10/day10a.cpp index fda4ab8..2c01ea2 100644 --- a/2024/10/day10a.cpp +++ b/2024/10/day10a.cpp | |||
| @@ -42,7 +42,7 @@ public: | |||
| 42 | cells = new int[M * N]; | 42 | cells = new int[M * N]; |
| 43 | for (int i = 0; i < N; i++) | 43 | for (int i = 0; i < N; i++) |
| 44 | for (int j = 0; j < M; j++) | 44 | for (int j = 0; j < M; j++) |
| 45 | cells[N*i + j] = lines[i][j] - '0'; | 45 | cells[M*i + j] = lines[i][j] - '0'; |
| 46 | } | 46 | } |
| 47 | 47 | ||
| 48 | ~Board() { | 48 | ~Board() { |
| @@ -59,7 +59,7 @@ private: | |||
| 59 | 59 | ||
| 60 | int coord(pair<int, int> p) { | 60 | int coord(pair<int, int> p) { |
| 61 | auto [i, j] = p; | 61 | auto [i, j] = p; |
| 62 | return i >= N || i < 0 || j >= M || j < 0 ? -1 : N*i + j; | 62 | return i >= N || i < 0 || j >= M || j < 0 ? -1 : M*i + j; |
| 63 | } | 63 | } |
| 64 | }; | 64 | }; |
| 65 | 65 | ||
diff --git a/2024/10/day10b.cpp b/2024/10/day10b.cpp index de972c0..96eb195 100644 --- a/2024/10/day10b.cpp +++ b/2024/10/day10b.cpp | |||
| @@ -42,7 +42,7 @@ public: | |||
| 42 | cells = new int[M * N]; | 42 | cells = new int[M * N]; |
| 43 | for (int i = 0; i < N; i++) | 43 | for (int i = 0; i < N; i++) |
| 44 | for (int j = 0; j < M; j++) | 44 | for (int j = 0; j < M; j++) |
| 45 | cells[N*i + j] = lines[i][j] - '0'; | 45 | cells[M*i + j] = lines[i][j] - '0'; |
| 46 | } | 46 | } |
| 47 | 47 | ||
| 48 | ~Board() { | 48 | ~Board() { |
| @@ -59,7 +59,7 @@ private: | |||
| 59 | 59 | ||
| 60 | int coord(pair<int, int> p) { | 60 | int coord(pair<int, int> p) { |
| 61 | auto [i, j] = p; | 61 | auto [i, j] = p; |
| 62 | return i >= N || i < 0 || j >= M || j < 0 ? -1 : N*i + j; | 62 | return i >= N || i < 0 || j >= M || j < 0 ? -1 : M*i + j; |
| 63 | } | 63 | } |
| 64 | }; | 64 | }; |
| 65 | 65 | ||
diff --git a/2024/12/day12a.cpp b/2024/12/day12a.cpp index b972fd2..89cc3d9 100644 --- a/2024/12/day12a.cpp +++ b/2024/12/day12a.cpp | |||
| @@ -46,8 +46,8 @@ public: | |||
| 46 | cells = new char[M * N]; | 46 | cells = new char[M * N]; |
| 47 | for (int i = 0; i < N; i++) { | 47 | for (int i = 0; i < N; i++) { |
| 48 | for (int j = 0; j < M; j++) { | 48 | for (int j = 0; j < M; j++) { |
| 49 | region[N*i + j] = -1; | 49 | region[M*i + j] = -1; |
| 50 | cells[N*i + j] = j < (int)lines[i].size() ? | 50 | cells[M*i + j] = j < (int)lines[i].size() ? |
| 51 | lines[i][j] : out_of_bound; | 51 | lines[i][j] : out_of_bound; |
| 52 | } | 52 | } |
| 53 | } | 53 | } |
| @@ -74,7 +74,7 @@ private: | |||
| 74 | 74 | ||
| 75 | int coord(pair<int, int> p) { | 75 | int coord(pair<int, int> p) { |
| 76 | auto [i, j] = p; | 76 | auto [i, j] = p; |
| 77 | return i >= N || i < 0 || j >= M || j < 0 ? -1 : N*i + j; | 77 | return i >= N || i < 0 || j >= M || j < 0 ? -1 : M*i + j; |
| 78 | } | 78 | } |
| 79 | }; | 79 | }; |
| 80 | 80 | ||
diff --git a/2024/12/day12b.cpp b/2024/12/day12b.cpp index 4078fa7..987df47 100644 --- a/2024/12/day12b.cpp +++ b/2024/12/day12b.cpp | |||
| @@ -57,8 +57,8 @@ public: | |||
| 57 | { | 57 | { |
| 58 | for (int64_t i = 0; i < N; i++) { | 58 | for (int64_t i = 0; i < N; i++) { |
| 59 | for (int64_t j = 0; j < M; j++) { | 59 | for (int64_t j = 0; j < M; j++) { |
| 60 | region[N*i+j] = -1; | 60 | region[M*i+j] = -1; |
| 61 | cells[N*i+j] = lines[i][j]; | 61 | cells[M*i+j] = lines[i][j]; |
| 62 | } | 62 | } |
| 63 | } | 63 | } |
| 64 | } | 64 | } |
| @@ -107,7 +107,7 @@ private: | |||
| 107 | 107 | ||
| 108 | int64_t coord(const Position p) const { | 108 | int64_t coord(const Position p) const { |
| 109 | auto [i, j] = p; | 109 | auto [i, j] = p; |
| 110 | return i >= N || i < 0 || j >= M || j < 0 ? -1 : N * i + j; | 110 | return i >= N || i < 0 || j >= M || j < 0 ? -1 : M * i + j; |
| 111 | } | 111 | } |
| 112 | 112 | ||
| 113 | bool is_visited(const Position p, const Direction d) const { | 113 | bool is_visited(const Position p, const Direction d) const { |
