aboutsummaryrefslogtreecommitdiffstats
path: root/day13
diff options
context:
space:
mode:
authorOrfeas <38209077+0xfea5@users.noreply.github.com>2023-12-15 02:13:13 +0200
committerOrfeas <38209077+0xfea5@users.noreply.github.com>2025-10-28 23:20:45 +0200
commit88505114b052c220454cb6211abd8dcff2ce5323 (patch)
treea92e2b4a1b2d923ce2bacbe3c2093fb695c170fb /day13
parentday13 (diff)
downloadaoc23-88505114b052c220454cb6211abd8dcff2ce5323.tar.gz
aoc23-88505114b052c220454cb6211abd8dcff2ce5323.zip
day14
Diffstat (limited to 'day13')
-rw-r--r--day13/solution.zig32
1 files changed, 16 insertions, 16 deletions
diff --git a/day13/solution.zig b/day13/solution.zig
index e3139fc..3b83d0e 100644
--- a/day13/solution.zig
+++ b/day13/solution.zig
@@ -23,6 +23,22 @@ fn cnt_diff(lhs: []const u8, rhs: []const u8) i64 {
23 return cnt; 23 return cnt;
24} 24}
25 25
26fn transpose(map: Map) Map {
27 var transposed = allocator.alloc([]u8, map[0].len) catch unreachable;
28
29 for (transposed) |*trow| {
30 trow.* = allocator.alloc(u8, map.len) catch unreachable;
31 }
32
33 for (map, 0..) |row, i| {
34 for (row, 0..) |c, j| {
35 transposed[j][i] = c;
36 }
37 }
38
39 return transposed;
40}
41
26fn check_eql(map: Map, i_: usize, j_: usize, tolerance_: i64) bool { 42fn check_eql(map: Map, i_: usize, j_: usize, tolerance_: i64) bool {
27 var i = i_; 43 var i = i_;
28 var j = j_; 44 var j = j_;
@@ -41,22 +57,6 @@ fn check_eql(map: Map, i_: usize, j_: usize, tolerance_: i64) bool {
41 return tolerance == 0; 57 return tolerance == 0;
42} 58}
43 59
44fn transpose(map: Map) Map {
45 var transposed = allocator.alloc([]u8, map[0].len) catch unreachable;
46
47 for (transposed) |*trow| {
48 trow.* = allocator.alloc(u8, map.len) catch unreachable;
49 }
50
51 for (map, 0..) |row, i| {
52 for (row, 0..) |c, j| {
53 transposed[j][i] = c;
54 }
55 }
56
57 return transposed;
58}
59
60fn evaluate(map: Map, tolerance: i64) u64 { 60fn evaluate(map: Map, tolerance: i64) u64 {
61 const h = map.len; 61 const h = map.len;
62 const w = map[0].len; 62 const w = map[0].len;