blob: e14912798c418291ffb9722f4f1b692abc9fba65 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
const std = @import("std");
pub fn main() !void {
var arena = std.heap.ArenaAllocator.init(std.heap.page_allocator);
defer arena.deinit();
const allocator = arena.allocator();
const args = try std.process.argsAlloc(allocator);
if (args.len != 3) return error.InvalidArguments;
const part = try std.fmt.parseInt(u32, args[1], 10);
const output_file_path = args[2];
var output_file = try std.fs.cwd().createFile(output_file_path, .{});
defer output_file.close();
try output_file.writer().print(
\\const std = @import("std");
\\const solution = @import("solution");
\\
\\pub fn main() !void {{
\\ const data = @embedFile("input");
\\
\\ var arena = std.heap.ArenaAllocator.init(std.heap.page_allocator);
\\ defer arena.deinit();
\\ const allocator = arena.allocator();
\\
\\ const input = try solution.parse(allocator, data);
\\ const output = try solution.part{}(allocator, input);
\\ try std.fmt.format(std.io.getStdOut().writer(), "{{}}\n", .{{output}});
\\}}
,
.{part},
);
return std.process.cleanExit();
}
|