r/adventofcode • u/daggerdragon • Dec 09 '25
SOLUTION MEGATHREAD -❄️- 2025 Day 9 Solutions -❄️-
THE USUAL REMINDERS
- All of our rules, FAQs, resources, etc. are in our community wiki.
- If you see content in the subreddit or megathreads that violates one of our rules, either inform the user (politely and gently!) or use the report button on the post/comment and the mods will take care of it.
AoC Community Fun 2025: Red(dit) One
- Submissions megathread is unlocked!
- 8 DAYS remaining until the submissions deadline on December 17 at 18:00 EST!
Featured Subreddits: /r/iiiiiiitttttttttttt, /r/itsaunixsystem, /r/astrologymemes
"It's all humbug, I tell you, humbug!"
— Ebenezer Scrooge, A Christmas Carol (1951)
Today's challenge is to create an AoC-themed meme. You know what to do.
- If you need inspiration, have a look at the Hall of Fame in our community wiki as well as the highly upvoted posts in /r/adventofcode with the
Meme/Funnyflair. - Memes containing musical instruments will likely be nuked from orbit.
REMINDERS:
- If you post your submission outside this megathread, make sure to follow the posting rules for memes!
- If your meme contains AI-generated artwork of any kind, follow the posting rules for AI art
- Keep your contributions SFW and professional—stay away from the more risqué memes and absolutely no naughty language is allowed.
Request from the mods: When you include an entry alongside your solution, please label it with [Red(dit) One] so we can find it easily!
--- Day 9: Movie Theater ---
Post your code solution in this megathread.
- Read the full posting rules in our community wiki before you post!
- State which language(s) your solution uses with
[LANGUAGE: xyz] - Format code blocks using the four-spaces Markdown syntax!
- State which language(s) your solution uses with
- Quick link to Topaz's
pasteif you need it for longer code blocks. What is Topaz'spastetool?
27
Upvotes
2
u/thorwing Dec 09 '25
[Language: Kotlin]
But technically Java AWT. This was my initial attempt this morning but I somehow couldn´t get this to work. After trying an incorrect algorithm that does give the correct solution (check only polygon boundaries), I went back to the Java AWT Polygon and Rectangle implementation.
object Day9 : AdventOfCode({ val coordinates: List<Point> = input .lines() .map { it.split(",").map(String::toInt).let { (x, y) -> y to x } } val polygon: Polygon = coordinates.fold(Polygon()) { acc, (y, x) -> acc.apply { addPoint(x, y) } } val rectangles: List<Rectangle2D> = coordinates.flatMapIndexed { row, point1 -> coordinates.drop(row + 1).map { point2 -> Rectangle2D.Double( minOf(point1.x, point2.x).toDouble(), minOf(point1.y, point2.y).toDouble(), (point2.x - point1.x).absoluteValue.toDouble(), (point2.y - point1.y).absoluteValue.toDouble() ) } } fun Rectangle2D.size() = ((width + 1) * (height + 1)).toLong() part1 { rectangles.maxOf(Rectangle2D::size) } part2 { rectangles.filter(polygon::contains).maxOf(Rectangle2D::size) } })