diff --git a/2020/.vscode/tasks.json b/2020/.vscode/tasks.json new file mode 100644 index 0000000..d868834 --- /dev/null +++ b/2020/.vscode/tasks.json @@ -0,0 +1,17 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "label": "zig build", + "type": "shell", + "command": "zig build", + "problemMatcher": [], + "group": { + "kind": "build", + "isDefault": true + } + } + ] +} \ No newline at end of file diff --git a/2020/day10/input.txt b/2020/day10/input.txt new file mode 100644 index 0000000..e69de29 diff --git a/2020/day10/main.zig b/2020/day10/main.zig new file mode 100644 index 0000000..e69de29 diff --git a/2020/day11/input.txt b/2020/day11/input.txt new file mode 100644 index 0000000..e69de29 diff --git a/2020/day11/main.zig b/2020/day11/main.zig new file mode 100644 index 0000000..e69de29 diff --git a/2020/day13/input.txt b/2020/day13/input.txt new file mode 100644 index 0000000..9cf09c4 --- /dev/null +++ b/2020/day13/input.txt @@ -0,0 +1,9 @@ +19 +37 +383 +23 +13 +29 +457 +41 +17 \ No newline at end of file diff --git a/2020/day13/main.zig b/2020/day13/main.zig new file mode 100644 index 0000000..5333b5c --- /dev/null +++ b/2020/day13/main.zig @@ -0,0 +1,47 @@ +const input = @embedFile("input.txt"); +const std = @import("std"); + + +pub fn main() !void { + + var it = std.mem.tokenize(u8, input, "\n"); + var busses:[10]u32 = std.mem.zeroes([10:0]u32); + var i: u32 = 0; + + while(it.next()) + |line| + :(i+=1) + { + busses[i] = (try std.fmt.parseInt(u32, line, 10)); + } + + std.debug.print("Busses:\n", .{}); + for(busses)|bus|{ + std.debug.print("{d}\n", .{bus}); + } + + const start: u32 = 1000391; + var n: u32 = start; + var found = false; + + + while(n > 0 and !found):(n+=1){ + + if(n % 1000 == 0) + std.debug.print("Tick: {d}\n", .{n}); + + for(busses)|bus|{ + //skip + if(bus == 0){ + continue; + } + + if(n % bus == 0){ + found = true; + std.debug.print("Found! bus {d}, tick {d}, wait {d}, answer {d}\n", .{bus, n, n - start, (n-start)*bus}); + break; + } + + } + } +} \ No newline at end of file diff --git a/2020/day9/input.txt b/2020/day9/input.txt new file mode 100644 index 0000000..e69de29 diff --git a/2020/day9/main.zig b/2020/day9/main.zig new file mode 100644 index 0000000..e69de29 diff --git a/2021/zig-cache/h/0c7a27f633cc9a6e968feda992b85c72.txt b/2021/zig-cache/h/0c7a27f633cc9a6e968feda992b85c72.txt new file mode 100644 index 0000000..a03eb8a --- /dev/null +++ b/2021/zig-cache/h/0c7a27f633cc9a6e968feda992b85c72.txt @@ -0,0 +1,68 @@ +773 8257624 1656010777849708842 165bdfadf35d36ec9e3612f491986b43 /home/sherwood/Documents/zig/aoc2021/day1.zig +2933 8257687 1656010785483177218 ed590b856fad29321ebd8190c7cf6de5 /home/sherwood/Documents/zig/aoc2021/zig-cache/o/12fc362c463e88c18830fb03770b9180/builtin.zig +5391 5114614 1648297862000000000 99c935b1fadc1095742d1049c16b1f73 /usr/lib/zig/std/std.zig +5444 5376446 1648297862000000000 4850b131f27e1df09384f72e7db58d56 /usr/lib/zig/std/special/test_runner.zig +5391 5114614 1648297862000000000 99c935b1fadc1095742d1049c16b1f73 /usr/lib/zig/std/std.zig +26206 5114562 1648297862000000000 dbc4cb0419e16d4a31e572375da82b3e /usr/lib/zig/std/builtin.zig +5444 5376446 1648297862000000000 4850b131f27e1df09384f72e7db58d56 /usr/lib/zig/std/special/test_runner.zig +21855 5114612 1648297862000000000 afc30f6da0dcf13f4d3062af48b3ac43 /usr/lib/zig/std/start.zig +61008 5114615 1648297862000000000 5b49cc22b6b033715b219b2e4c6df7ac /usr/lib/zig/std/target.zig +88870 5376464 1648297862000000000 a4e267754cdf9c71d18dca0dfe685156 /usr/lib/zig/std/target/x86.zig +57659 5114591 1648297862000000000 db42026211aa4121bafe18a7268b343c /usr/lib/zig/std/math.zig +33618 5114593 1648297862000000000 46535ad7f6a05d9584884e7b8ee186ce /usr/lib/zig/std/meta.zig +69235 5114570 1648297862000000000 0d3521a7b6366f64005e31da1083e0b7 /usr/lib/zig/std/debug.zig +107395 5114592 1648297862000000000 fcbd1b4b8725bfa78591bba05d9c2d70 /usr/lib/zig/std/mem.zig +9813 8257684 1656009313645228950 9f2da8c2d2eda4602a5f35d2f9b80f6b /home/sherwood/Documents/zig/aoc2021/input1 +98183 5114580 1648297862000000000 a61ad0621302b9f1305f66f425db3436 /usr/lib/zig/std/fmt.zig +17188 5114616 1648297862000000000 d31d5393c80a512e00fee584c23bff45 /usr/lib/zig/std/testing.zig +41844 5114541 1648297862000000000 809081a3fa77d0f9424a2b6785a9c119 /usr/lib/zig/std/Thread.zig +7904 5375872 1648297862000000000 f3b7ac95f2f098f334cb93310d8796bd /usr/lib/zig/std/Thread/Mutex.zig +6493 5114585 1648297862000000000 2f1ab48b0aec09df8c98184641d2023d /usr/lib/zig/std/io.zig +118163 5114581 1648297862000000000 5b76f8053fc57aaeea4755fbdbccfc60 /usr/lib/zig/std/fs.zig +41888 5376041 1648297862000000000 53274430079e3e9594bd5428d82b9b4a /usr/lib/zig/std/fs/file.zig +256538 5114597 1648297862000000000 db7c5a6deb052c7881eba11189dfc18a /usr/lib/zig/std/os.zig +152897 5376175 1648297862000000000 e4227e4d75b6a322bbe98b52420692f4 /usr/lib/zig/std/os/linux.zig +99977 5376187 1648297862000000000 29efc96c70131a7de02bb2142b49b720 /usr/lib/zig/std/os/linux/io_uring.zig +3436 5376081 1648297862000000000 52b506e9785d2910ac0c6dc1bc00339b /usr/lib/zig/std/io/writer.zig +13907 5375876 1648297862000000000 8076a44960496763cdf5c3049792e2e9 /usr/lib/zig/std/Thread/StaticResetEvent.zig +44172 5114576 1648297862000000000 65ec5ab92c40065cd449953a6e6f852b /usr/lib/zig/std/elf.zig +12226 5376197 1648297862000000000 ff3e45103aa47b16470414986abd383b /usr/lib/zig/std/os/linux/tls.zig +30557 5376170 1648297862000000000 65c11e31a62933504f717be9e26f88d4 /usr/lib/zig/std/mem/Allocator.zig +83618 5114583 1648297862000000000 58d5c5778b4baa1368571fa84697db80 /usr/lib/zig/std/hash_map.zig +42277 5114571 1648297862000000000 bb8aca7bf5ec61c47aca7b6ebf08cb94 /usr/lib/zig/std/dwarf.zig +52325 5114543 1648297862000000000 83b54eba3ec17b5646e8ef82d50bfb55 /usr/lib/zig/std/array_list.zig +16198 5376199 1648297862000000000 33eeeaeaf18fad72f964812980a410e5 /usr/lib/zig/std/os/linux/x86_64.zig +5853 5376070 1648297862000000000 e4ebd554fff4f4347909d2e820cd323d /usr/lib/zig/std/io/fixed_buffer_stream.zig +26615 5376076 1648297862000000000 e3a5103fb13d3c32dbaebed1925a90dd /usr/lib/zig/std/io/reader.zig +1117 5376077 1648297862000000000 3f2f071b498497f7d54bcfc458d51f5e /usr/lib/zig/std/io/seekable_stream.zig +15524 5114587 1648297862000000000 fd35bd5ce692e376140efff780ae8fd9 /usr/lib/zig/std/leb128.zig +3578 5114574 1648297862000000000 5be2b73bab9064c8b8fd700243bac785 /usr/lib/zig/std/dwarf/TAG.zig +6494 5114572 1648297862000000000 bbb5283cec1c0d8bce4f3f0c930e7958 /usr/lib/zig/std/dwarf/AT.zig +50424 5376043 1648297862000000000 12a03d3246107a6495b60c6a625c29a9 /usr/lib/zig/std/fs/path.zig +7889 5376183 1648297862000000000 562fc4eee397a5037d16dffd5e048cd4 /usr/lib/zig/std/os/linux/errno/generic.zig +19105 5376172 1648297862000000000 45e8137f667bfff4502578f66d4be5a5 /usr/lib/zig/std/meta/trait.zig +32421 5114618 1648297862000000000 16ca37fd4f5ff96730ce35daff9ee049 /usr/lib/zig/std/unicode.zig +1314 5114582 1648297862000000000 241bc6f0b7b0f07237a5e145b1d22a8a /usr/lib/zig/std/hash.zig +10122 5376054 1648297862000000000 6372ee29c64a8e176138e879d43eb625 /usr/lib/zig/std/hash/wyhash.zig +45386 5114584 1648297862000000000 70932a11a45b5bf5a34e6339a8941375 /usr/lib/zig/std/heap.zig +4685 5376055 1648297862000000000 bccc2a1210ecea59d9b108bd05b44f4d /usr/lib/zig/std/heap/arena_allocator.zig +13435 5114588 1648297862000000000 841107470272eebec404e2b902f8b639 /usr/lib/zig/std/linked_list.zig +31592 5114602 1648297862000000000 32ddd57f125944112ecd368187c91caa /usr/lib/zig/std/process.zig +14238 5114575 1648297862000000000 cfb89feb086c19f15610196212a5b39a /usr/lib/zig/std/dynamic_library.zig +9321 5375873 1648297862000000000 6375a03982cbb853a43d3e581d5e5500 /usr/lib/zig/std/Thread/ResetEvent.zig +932 5114578 1648297862000000000 b4c3b5276113dacf836baae9d9f94c34 /usr/lib/zig/std/event.zig +68675 5376031 1648297862000000000 c63f2338b6b028fe35892da44a377363 /usr/lib/zig/std/event/loop.zig +2956 5114545 1648297862000000000 224c7ee868b5251b2fb3a38a139de8ff /usr/lib/zig/std/atomic.zig +12142 5114547 1648297862000000000 960f31a28097b764cc5fbb0f9205d56e /usr/lib/zig/std/atomic/queue.zig +22970 5114546 1648297862000000000 2809286560339082772669bb49d3d305 /usr/lib/zig/std/atomic/Atomic.zig +10892 5114617 1648297862000000000 31fc51ed299a6e4baa67fa98f200e96a /usr/lib/zig/std/time.zig +7373 5375869 1648297862000000000 4d373c2c86127a7ec0f7b3ba579f054c /usr/lib/zig/std/Thread/AutoResetEvent.zig +5836 5114548 1648297862000000000 7d2404322fa027582c27f4f202ec6a58 /usr/lib/zig/std/atomic/stack.zig +13798 5114539 1648297862000000000 70e9de54160eeb6871485cdaa3755d2e /usr/lib/zig/std/Progress.zig +53692 5376056 1648297862000000000 a60642142bf23cc7e76febab706572ec /usr/lib/zig/std/heap/general_purpose_allocator.zig +6454 5376156 1648297862000000000 5472dbfd6542719a2f23c0d565670e4e /usr/lib/zig/std/math/log2.zig +9090 5114589 1648297862000000000 1180d90b55f45cb947269ff038108378 /usr/lib/zig/std/log.zig +3884 5376198 1648297862000000000 3d5de21815d6358b2673061efe48f78d /usr/lib/zig/std/os/linux/vdso.zig +36229 5114599 1648297862000000000 8dd156aa070c627fc25ef402c82b8cb0 /usr/lib/zig/std/pdb.zig +13263 5114565 1648297862000000000 52436f0b55cf344739d85e1b6989e029 /usr/lib/zig/std/coff.zig +127499 5376246 1648297862000000000 c34f941bc683d1597ce7899b65ef7fcc /usr/lib/zig/std/os/windows.zig diff --git a/2021/zig-cache/h/7d6db3985b4ffcbf882898eb38afb77e.txt b/2021/zig-cache/h/7d6db3985b4ffcbf882898eb38afb77e.txt new file mode 100644 index 0000000..e69de29 diff --git a/2021/zig-cache/h/timestamp b/2021/zig-cache/h/timestamp new file mode 100644 index 0000000..e69de29 diff --git a/2021/zig-cache/o/12fc362c463e88c18830fb03770b9180/builtin.zig b/2021/zig-cache/o/12fc362c463e88c18830fb03770b9180/builtin.zig new file mode 100644 index 0000000..7d2d46b --- /dev/null +++ b/2021/zig-cache/o/12fc362c463e88c18830fb03770b9180/builtin.zig @@ -0,0 +1,112 @@ +const std = @import("std"); +/// Zig version. When writing code that supports multiple versions of Zig, prefer +/// feature detection (i.e. with `@hasDecl` or `@hasField`) over version checks. +pub const zig_version = std.SemanticVersion.parse("0.9.1") catch unreachable; +/// Temporary until self-hosted is feature complete. +pub const zig_is_stage2 = false; +/// Temporary until self-hosted supports the `cpu.arch` value. +pub const stage2_arch: std.Target.Cpu.Arch = .x86_64; +/// Temporary until self-hosted can call `std.Target.x86.featureSetHas` at comptime. +pub const stage2_x86_cx16 = true; + +pub const output_mode = std.builtin.OutputMode.Exe; +pub const link_mode = std.builtin.LinkMode.Static; +pub const is_test = true; +pub const single_threaded = false; +pub const abi = std.Target.Abi.gnu; +pub const cpu: std.Target.Cpu = .{ + .arch = .x86_64, + .model = &std.Target.x86.cpu.znver2, + .features = std.Target.x86.featureSet(&[_]std.Target.x86.Feature{ + .@"64bit", + .adx, + .aes, + .avx, + .avx2, + .bmi, + .bmi2, + .branchfusion, + .clflushopt, + .clwb, + .clzero, + .cmov, + .cx16, + .cx8, + .f16c, + .fast_15bytenop, + .fast_bextr, + .fast_lzcnt, + .fast_movbe, + .fast_scalar_shift_masks, + .fma, + .fsgsbase, + .fxsr, + .lzcnt, + .mmx, + .movbe, + .mwaitx, + .nopl, + .pclmul, + .popcnt, + .prfchw, + .rdpid, + .rdrnd, + .rdseed, + .sahf, + .sha, + .slow_shld, + .sse, + .sse2, + .sse3, + .sse4_1, + .sse4_2, + .sse4a, + .ssse3, + .vzeroupper, + .wbnoinvd, + .x87, + .xsave, + .xsavec, + .xsaveopt, + .xsaves, + }), +}; +pub const os = std.Target.Os{ + .tag = .linux, + .version_range = .{ .linux = .{ + .range = .{ + .min = .{ + .major = 5, + .minor = 15, + .patch = 48, + }, + .max = .{ + .major = 5, + .minor = 15, + .patch = 48, + }, + }, + .glibc = .{ + .major = 2, + .minor = 19, + .patch = 0, + }, + }}, +}; +pub const target = std.Target{ + .cpu = cpu, + .os = os, + .abi = abi, +}; +pub const object_format = std.Target.ObjectFormat.elf; +pub const mode = std.builtin.Mode.Debug; +pub const link_libc = false; +pub const link_libcpp = false; +pub const have_error_return_tracing = true; +pub const valgrind_support = true; +pub const position_independent_code = false; +pub const position_independent_executable = false; +pub const strip_debug_info = false; +pub const code_model = std.builtin.CodeModel.default; +pub var test_functions: []std.builtin.TestFn = undefined; // overwritten later +pub const test_io_mode = .blocking; diff --git a/2021/zig-cache/o/12fc362c463e88c18830fb03770b9180/stage1.id b/2021/zig-cache/o/12fc362c463e88c18830fb03770b9180/stage1.id new file mode 120000 index 0000000..2ea10c6 --- /dev/null +++ b/2021/zig-cache/o/12fc362c463e88c18830fb03770b9180/stage1.id @@ -0,0 +1 @@ +d4b0dcfc8f393265d7d5fdf515cc7c6400 \ No newline at end of file diff --git a/2021/zig-cache/o/12fc362c463e88c18830fb03770b9180/test b/2021/zig-cache/o/12fc362c463e88c18830fb03770b9180/test new file mode 100755 index 0000000..56d04a2 Binary files /dev/null and b/2021/zig-cache/o/12fc362c463e88c18830fb03770b9180/test differ diff --git a/2021/zig-cache/o/12fc362c463e88c18830fb03770b9180/test.o b/2021/zig-cache/o/12fc362c463e88c18830fb03770b9180/test.o new file mode 100644 index 0000000..695b333 Binary files /dev/null and b/2021/zig-cache/o/12fc362c463e88c18830fb03770b9180/test.o differ diff --git a/2021/zig-cache/o/fd4060a8eb90b0af36311419a52f27a4/builtin.zig b/2021/zig-cache/o/fd4060a8eb90b0af36311419a52f27a4/builtin.zig new file mode 100644 index 0000000..7d2d46b --- /dev/null +++ b/2021/zig-cache/o/fd4060a8eb90b0af36311419a52f27a4/builtin.zig @@ -0,0 +1,112 @@ +const std = @import("std"); +/// Zig version. When writing code that supports multiple versions of Zig, prefer +/// feature detection (i.e. with `@hasDecl` or `@hasField`) over version checks. +pub const zig_version = std.SemanticVersion.parse("0.9.1") catch unreachable; +/// Temporary until self-hosted is feature complete. +pub const zig_is_stage2 = false; +/// Temporary until self-hosted supports the `cpu.arch` value. +pub const stage2_arch: std.Target.Cpu.Arch = .x86_64; +/// Temporary until self-hosted can call `std.Target.x86.featureSetHas` at comptime. +pub const stage2_x86_cx16 = true; + +pub const output_mode = std.builtin.OutputMode.Exe; +pub const link_mode = std.builtin.LinkMode.Static; +pub const is_test = true; +pub const single_threaded = false; +pub const abi = std.Target.Abi.gnu; +pub const cpu: std.Target.Cpu = .{ + .arch = .x86_64, + .model = &std.Target.x86.cpu.znver2, + .features = std.Target.x86.featureSet(&[_]std.Target.x86.Feature{ + .@"64bit", + .adx, + .aes, + .avx, + .avx2, + .bmi, + .bmi2, + .branchfusion, + .clflushopt, + .clwb, + .clzero, + .cmov, + .cx16, + .cx8, + .f16c, + .fast_15bytenop, + .fast_bextr, + .fast_lzcnt, + .fast_movbe, + .fast_scalar_shift_masks, + .fma, + .fsgsbase, + .fxsr, + .lzcnt, + .mmx, + .movbe, + .mwaitx, + .nopl, + .pclmul, + .popcnt, + .prfchw, + .rdpid, + .rdrnd, + .rdseed, + .sahf, + .sha, + .slow_shld, + .sse, + .sse2, + .sse3, + .sse4_1, + .sse4_2, + .sse4a, + .ssse3, + .vzeroupper, + .wbnoinvd, + .x87, + .xsave, + .xsavec, + .xsaveopt, + .xsaves, + }), +}; +pub const os = std.Target.Os{ + .tag = .linux, + .version_range = .{ .linux = .{ + .range = .{ + .min = .{ + .major = 5, + .minor = 15, + .patch = 48, + }, + .max = .{ + .major = 5, + .minor = 15, + .patch = 48, + }, + }, + .glibc = .{ + .major = 2, + .minor = 19, + .patch = 0, + }, + }}, +}; +pub const target = std.Target{ + .cpu = cpu, + .os = os, + .abi = abi, +}; +pub const object_format = std.Target.ObjectFormat.elf; +pub const mode = std.builtin.Mode.Debug; +pub const link_libc = false; +pub const link_libcpp = false; +pub const have_error_return_tracing = true; +pub const valgrind_support = true; +pub const position_independent_code = false; +pub const position_independent_executable = false; +pub const strip_debug_info = false; +pub const code_model = std.builtin.CodeModel.default; +pub var test_functions: []std.builtin.TestFn = undefined; // overwritten later +pub const test_io_mode = .blocking; diff --git a/2021/zig-cache/z/0bf6f42a945a171a0aefcd56b37e0634 b/2021/zig-cache/z/0bf6f42a945a171a0aefcd56b37e0634 new file mode 100644 index 0000000..8f0f1da Binary files /dev/null and b/2021/zig-cache/z/0bf6f42a945a171a0aefcd56b37e0634 differ diff --git a/2021/zig-cache/z/1a5a04154abb7671b790b92f3e7c070a b/2021/zig-cache/z/1a5a04154abb7671b790b92f3e7c070a new file mode 100644 index 0000000..b1af946 Binary files /dev/null and b/2021/zig-cache/z/1a5a04154abb7671b790b92f3e7c070a differ