const std = @import("std"); pub fn main() !void { const buf = @embedFile("input"); var lines = std.mem.splitScalar(u8, buf, '\n'); var dial: i32 = 50; var num_zeros: i32 = 0; var num_zeros_p1: i32 = 0; while (lines.next()) |line| { if (line.len < 2) continue; const num = try std.fmt.parseInt(i32, line[1.. line.len], 10); const left_turn = line[0] == 'L'; if (dial == 0 and left_turn) num_zeros -= 1; dial = if(left_turn) dial - num else dial + num; const increment: i32 = @intCast(@abs(@divFloor(if(left_turn) dial-1 else dial,100))); dial = @mod(dial,100); num_zeros += increment; if(dial == 0) num_zeros_p1 += 1; } std.debug.print("{} {}\n", .{num_zeros_p1, num_zeros}); }