diff --git a/src/day12.zig b/src/day12.zig new file mode 100644 index 0000000..e9b20c9 --- /dev/null +++ b/src/day12.zig @@ -0,0 +1,53 @@ +const std = @import("std"); +const util = @import("util.zig"); +const mem = std.mem; + +pub fn main() !void { + const input = @embedFile("data/day12.txt"); + const sln = try solve(util.gpa, input); + std.debug.print("{d}\n", .{sln.a}); + std.debug.print("{d}\n", .{sln.b}); +} + +const Solution = struct { + a: usize, + b: usize, +}; + +fn solve(alloc: mem.Allocator, input: []const u8) !Solution { + _ = alloc; + + var it = util.splitLines(input); + while (it.next()) |line| { + if (line.len == 0) continue; + + var lit = util.splitSpace(line); + const record = lit.next().?; + _ = record; + const groups = lit.next().?; + _ = groups; + } + + return .{ .a = 0, .b = 0 }; +} + +test "silver" { + const input = + \\???.### 1,1,3 + \\.??..??...?##. 1,1,3 + \\?#?#?#?#?#?#?#? 1,3,1,6 + \\????.#...#... 4,1,1 + \\????.######..#####. 1,6,5 + \\?###???????? 3,2,1 + ; + const sln = try solve(std.testing.allocator, input); + try std.testing.expectEqual(@as(usize, 21), sln.a); +} + +test "gold" { + const input = + \\ + ; + const sln = try solve(std.testing.allocator, input); + try std.testing.expectEqual(@as(usize, 0), sln.b); +}