Skip to content

Instantly share code, notes, and snippets.

@Stevie-O
Stevie-O / gist:b9eb72edfed35ac0c9b2c0667685e115
Created December 7, 2025 21:22
AOC 2025 Day 7 Part2 - Example Visualization
Path #1:
.......S.......
.......|.......
......|^.......
......|........
.....|^.^......
.....|.........
....|^.^.^.....
....|..........
@Stevie-O
Stevie-O / aoc-2025-day02.awk
Created December 3, 2025 20:59
AOC 2025 Day 2 - awk solver
#!/usr/bin/env -Sawk --posix -f
# additional options: -vprint_invalid_ids=1
BEGIN { RS = ","; FS = "-"; part1_answer = 0; part2_answer = 0;
# divisors[len,divisor_id,X]
# X=1: number of partitions
# X=2: length of each partitions
# X=3: scalar
# X=4: string repeat helper
@Stevie-O
Stevie-O / boy-on-tuesday.cs
Created November 6, 2025 20:05
Boy born on Tuesday problem
void Main()
{
var r = new Random();
var boy_tue_counts = new Dictionary<InfoSource, Counter>() {
{ InfoSource.Ask, new Counter() },
{ InfoSource.Volunteer, new Counter() },
};
var boy_counts = new Dictionary<InfoSource, Counter>() {
{ InfoSource.Ask, new Counter() },
{ InfoSource.Volunteer, new Counter() },
@Stevie-O
Stevie-O / aoc2024day18-so.awk
Created December 19, 2024 16:02
AOC 2024 Day 18 Solver - POSIX awk
# aoc2024day18-so.awk
# ===================
#
# A solver for Advent of Code 2024, Day 18, both parts, implemented in pure POSIX awk
#
# inspired by Ramen (ラーメン)
#
# # Invocation
#
# `awk [-P] -f aoc2024day18-so.awk [part1=<number>] [dim=<number>] [inputfile]`
@Stevie-O
Stevie-O / README.md
Created December 19, 2024 05:54
AOC 2024 Day 17 Solver - Intcode

AOC 2024 Day 17 Intcode solver

USAGE

All input and output is done in ASCII. Attempts to ignore CRs ('\r' aka 0x0D aka 015).

Input must exactly conform to the example and puzzle inputs supplied for Day 17.

Input may be terminated as follows:

@Stevie-O
Stevie-O / aoc-2024-day07b-dfs.linq
Created December 8, 2024 05:50
AOC 2024 Day 7 Part 2 - DFS with pruning
<Query Kind="Program">
<Namespace>System.Collections.Immutable</Namespace>
</Query>
#load "../common/aoc-input-util.linq"
#load "../common/aoc-input-util2.linq"
#load "../common/aoc-parsers.linq"
#load "../common/aoc-exec-util.linq"
const bool EXAMPLE = false;
#load "../common/aoc-input-util.linq"
#load "../common/aoc-parsers.linq"
void Main()
{
using (var tr =
//OpenDataFile()
GetSampleInput()
)
{
@Stevie-O
Stevie-O / day24_via_vectors.m
Created December 31, 2023 20:32
AOC 2024 Day 24 Part 2 via matrix and vector math
% xyz = readcsv('day24.csv');
n1 = 100;
n2 = 200;
n3 = 300;
r1 = xyz(1:3,n1);
r2 = xyz(1:3,n2);
r3 = xyz(1:3,n3);
v1 = xyz(4:6,n1);
@Stevie-O
Stevie-O / aoc-2023-day24-part2-solver.cs
Created December 27, 2023 19:08
aoc 2023 day 24 part 2 solver (does not work)
enum Plane { X = 0, Y = 1, Z = 2 }
struct DimensionTrajectory
{
public DimensionTrajectory(Hailstone h, Plane p)
{
Position = p switch { Plane.X => h.pos.X, Plane.Y => h.pos.Y, Plane.Z => h.pos.Z };
Velocity = p switch { Plane.X => h.vel.Dx, Plane.Y => h.vel.Dy, Plane.Z => h.vel.Dz };
}
public readonly long Position;
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.