# AoC 2024: Day 23

**URL:** <https://ziggit.dev/t/aoc-2024-day-23/7483>\
**Category:** Challenge\
**Tags:** advent-of-code\
**Created:** [December 23, 2024, 3:27pm UTC](https://ziggit.dev/t/aoc-2024-day-23/7483 "2024-12-23T15:27:54Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Calder-Ty](https://ziggit.dev/user_avatar/ziggit.dev/calder-ty/32/10237_2.png) [@Calder-Ty](https://ziggit.dev/u/Calder-Ty)\
**Post date:** [December 23, 2024, 3:27pm UTC](https://ziggit.dev/t/aoc-2024-day-23/7483/1 "2024-12-23T15:27:54Z")

</div>

Main thread for Day 23 of the 2024 advent of code. Feel free to discuss the challenge and ask questions. If particular discussions become large, we can break them off into new threads.

Some Rules:

1. Please try to keep spoilers within spoiler tags. This is done by typing [spoiler]text to be blurred[\spoiler]. If you have longer sections you can also use the [details=“Title”] tags.
2. Have Fun

[Day 23 Challenge](https://adventofcode.com/2024/day/23)

Templates:

- [GitHub - JacobCrabill/AdventOfCode-2024: My solutions for Advent of Code, 2024](https://github.com/JacobCrabill/AdventOfCode-2024)
- [GitHub - SpexGuy/Zig-AoC-Template: A template for Advent of Code participants using Zig](https://github.com/SpexGuy/Zig-AoC-Template)

Resources:

- [Advent of Code in Zig | Loris Cro's Blog](https://kristoff.it/blog/advent-of-code-zig) :Advice and Tips on How to do AoC with Zig
- [https://zigbin.io](https://zigbin.io) : A website for sharing zig code
- [Documentation - The Zig Programming Language](https://ziglang.org/documentation/master/) : Zig Language Reference
- [Zig Documentation](https://ziglang.org/documentation/master/std/) : Zig Standard Library Docs
- [Docs](https://ziggit.dev/docs) : Community Created Docs and Tutorials
- Private Leaderboard (189 Seats left) code: 1910115-f465b6d3

> **Previous days discussions**
>
> Day 1: [AoC 2024: Day 1](https://ziggit.dev/t/aoc-2024-day-1/7100)  
> Day 2: [AoC 2024: Day 2](https://ziggit.dev/t/aoc-2024-day-2/7119)  
> Day 3: [AoC 2024: Day 3](https://ziggit.dev/t/aoc-2024-day-3/7136)  
> Day 4: [AoC 2024: Day 4](https://ziggit.dev/t/aoc-2024-day-4/7150)  
> Day 5: [AoC 2024: Day 5](https://ziggit.dev/t/aoc-2024-day-5/7167)  
> Day 6: [AoC 2024: Day 6](https://ziggit.dev/t/aoc-2024-day-6/7183)  
> Day 7: [AoC 2024: Day 7](https://ziggit.dev/t/aoc-2024-day-7/7196)  
> Day 8: [AoC 2024: Day 8](https://ziggit.dev/t/aoc-2024-day-8/7207)  
> Day 9: [AoC 2024: Day 9](https://ziggit.dev/t/aoc-2024-day-9/7226)  
> Day 10: [AoC 2024: Day 10](https://ziggit.dev/t/aoc-2024-day-10/7244)  
> Day 11: [AoC 2024: Day 11](https://ziggit.dev/t/aoc-2024-day-11/7264)  
> Day 12: [AoC 2024: Day 12](https://ziggit.dev/t/aoc-2024-day-12/7288)  
> Day 13: [AoC 2024: Day 13](https://ziggit.dev/t/aoc-2024-day-13/7301)  
> Day 14: [AoC 2023: Day 14](https://ziggit.dev/t/aoc-2023-day-14/7323)  
> Day 15: [AoC 2024: Day 15](https://ziggit.dev/t/aoc-2024-day-15/7342)  
> Day 16: [AoC 2024: Day 16](https://ziggit.dev/t/aoc-2024-day-16/7364)  
> Day 17: [AoC 2024: Day 17](https://ziggit.dev/t/aoc-2024-day-17/7394)  
> Day 18: [AoC 2024: Day 18](https://ziggit.dev/t/aoc-2024-day-18/7403)  
> Day 19: [AoC 2024: Day 19](https://ziggit.dev/t/aoc-2024-day-19/7418)  
> Day 20: [AoC 2024: Day 20](https://ziggit.dev/t/aoc-2024-day-20/7430)  
> Day 21: [AoC 2024: Day 21](https://ziggit.dev/t/aoc-2024-day-21/7452)  
> Day 22: [AoC 2024: Day 22](https://ziggit.dev/t/aoc-2024-day-22/7467)

---

<div class="post-metadata">

**Author:** ![p88h](https://ziggit.dev/user_avatar/ziggit.dev/p88h/32/3974_2.png) [@p88h](https://ziggit.dev/u/p88h)\
**Post date:** [December 23, 2024, 4:34pm UTC](https://ziggit.dev/t/aoc-2024-day-23/7483/2 "2024-12-23T16:34:31Z")

</div>

Fun problem, a bit difficult to do due to all the Christmas preparations though. Tomorrow is going to be a real challenge 😉  
The specifics of the input allow a simple greedy solution; so that’s that.

Source: [aoc2024/src/day23.zig at main · p88h/aoc2024 · GitHub](https://github.com/p88h/aoc2024/blob/main/src/day23.zig)  
Video: [https://youtu.be/sZnkyDk0990](https://youtu.be/sZnkyDk0990)

Benchmark:

```zig
        parse part1 part2 total
day 23: 33.1 µs 22.9 µs 5.9 µs 62.1 µs (+-1%) iter=29110 

```

---

<div class="post-metadata">

**Author:** ![ProfBof](https://ziggit.dev/letter_avatar_proxy/v4/letter/p/a88e4f/32.png) [@ProfBof](https://ziggit.dev/u/ProfBof)\
**Post date:** [December 27, 2024, 12:47am UTC](https://ziggit.dev/t/aoc-2024-day-23/7483/3 "2024-12-27T00:47:02Z")

</div>

Weird posting this after p88h and his insane perf. I got to 800us after way too much tinkering. My breakthrough was to look for computers with a low number of disconnected pairs of neighbors. I am tired.

[The Zig Pastebin](https://zigbin.io/16b99d) using this ArraySet (wrapper around  
AutoArrayHashMapUnmanaged for void values, because I felt like it) [The Zig Pastebin](https://zigbin.io/9779b8)
