advent-of-code/2023/day-04/part_one.zig

34 lines
764 B
Zig

const std = @import("std");
const common = @import("common.zig");
const data = @embedFile("inputs/puzzle.txt");
pub fn main() !void {
const stdout = std.io.getStdOut().writer();
const cards = try common.parse(data);
defer cards.deinit();
var sum: u32 = 0;
for (cards.items) |card| {
var points: u32 = 0;
for (card.winning.items) |winning_num| {
for (card.having.items) |having_num| {
if (winning_num == having_num) {
if (points == 0) {
points = 1;
} else {
points *= 2;
}
}
}
}
sum += points;
}
try stdout.print("{d}\n", .{sum});
}