#advent-of-code

1 messages Β· Page 20 of 1

earnest forge
#

Rip

normal dragon
#

That's why I have a loadfile and a loadlines

candid berry
#

πŸ™‚

rancid creek
#

jeeze man, and part 1 took me 5 minutes. I think 4 minutes of that was reading, 1 minute was typing and ~0 minutes thinking.
I'm just here cause I enjoy hanging out with you all.

tawny sorrel
#

Hey i wrote this regex (\w+)([=-])(\d+)? to match these strings rn=1,cm-,qp=3,cm=2,qp-,pc=4,ot=9,ab=5,pc-,pc=6,ot=7 for today's aoc, but I dont match them correctly? What am I doing wrong?

jade atlas
#

I wrote a Lens class and implemented __hash__ method, hoping that when I will insert the objects in a dict, it will use that function. But surprisingly, it doesn't.

covert arrow
#

dicts use __eq__ to compare items too

jade atlas
covert arrow
#

yes it does

jade atlas
#

then how come when I insert Lens("cm", None) and Lens("cm", 3), it puts them in different keys? I have implemented __eq__ to compare the labels

covert arrow
#

they have to have the same hash and compare equal

#

#bot-commands message

tawny sorrel
#

Hey where should I send my code @covert arrow ?

jade atlas
covert arrow
tawny sorrel
#

I just want help with the regex

covert arrow
#

the regex is fine, as demonstrated before

rancid creek
tawny sorrel
#

oh

lime fulcrum
#

what newline character are they talking about?

modern terrace
normal dragon
#
>>> with open('input.txt') as f:
...     txt = f.read()
...
>>> '\n' in txt
True
#

@lime fulcrum

lime fulcrum
#

ah yeah i just copied into a file. apparently i lost the \n

modern terrace
#

copy pasting directly from the thing doesn't have it

normal dragon
#

Yeah, it's only if you directly download your puzzle input from Advent of Code's website

#

But a lot of people do that for automation purposes

modern terrace
#

it's something in the downloading process then

#

not the input itself

normal dragon
covert arrow
normal dragon
#

Though it's extra and unneeded

covert arrow
#

I like (\w+)(?:-|=(\d+)) more

rancid creek
rancid creek
modern terrace
#

anyway whether it exists or not the important thing is actually getting the solution

normal dragon
modern terrace
#

idk

feral hazel
flat sequoia
#

Mine doesn't, interesting

#

but I copy pasted the sample into my code editor manually

#

and vscode added a newline to that lmao

modern terrace
#

we're going back down now

hollow wharf
#

solved for me, so yeah.

broken dock
simple raven
#

day 15 part 1 ||was the easiest for me so far, suuurely part 2 will not get too much harder right? πŸ€ͺ ||

ripe meteor
#

part2 is comfy as well

glad tartan
#

if you're not reading the HTML you're missing out

minor cave
#

Day 14 was certainly a chatty day

magic oxide
#

interesting

hollow wharf
sleek cave
#

today seems like a breather. upon first glance part 2 is also ||easy for a midgame day||. hopefully i didn't miss anything :P

normal dragon
normal dragon
rapid wolf
#

It was more of a ||reading comprehension|| day tbh, but even that wasn't too bad.

#

(definitely did not suffer for 2 hours on p2 because APL really really doesn't like this style of problems

magic oxide
#

my biggest issue today was formatting

normal dragon
normal dragon
magic oxide
#

i decided to do today as a single expression for fun

#

because p2 was kinda easy

#

so the formatting was annoying because indentations

hollow wharf
#

You did 1line p2?

normal dragon
magic oxide
#

day 15 yeah

#

i've cleaned it up a bit

noble skiff
#

There's always been days where you need to read extra carefully

cyan sleet
noble skiff
#

I admit there was one passage I read like 4 times

#

It was confusing how they said nee entries in the box go in the back, but if it's empty it goes in the front

#

The added clause has negative value

cyan sleet
#

if no lenses exist, that lens is placed at the front

noble skiff
#

Yes, the second clause adds nothing

cyan sleet
#

there is no room for lenses behind it now

noble skiff
#

Huh

#

Not sure if being serious or not

cyan sleet
#

serious, that's what I think they want to avoid in their box analogy

noble skiff
#

It's pretty clear that if a line is empty, the front and back of a line are the same place

cyan sleet
#

but this is some physical box in their analogy

#

(the analogy is bad, don't get me wrong)

noble skiff
#

This doesn't confuse anyone, and what you're saying doesn't really make sense: lenses go at the back of the existing lenses, not at the back of the box

#

If there's no existing lenses then "behind existing lenses" is the same as the front

cyan sleet
noble skiff
#

It absolutely is

#

I mean I guess that's your interpretation, fair enough

cyan sleet
#

you're thinking about a data structure, in their analogy you have this physical box

noble skiff
#

I understand that

#

I think it's perfectly well defined without that second clause

#

And clearer

#

I'm surprised that someone thinks otherwise but it makes sense that different people interpret it differently

cyan sleet
#

so what if I place the lens at the back of the box?

#

and I want to add one more lens

#

behind the lens is the wall of the box

#

I can't move the existing lens per the other rules

noble skiff
#

The box doesn't have finite size so this doesn't even make sense

#

All I'm saying is that for me the second clause made it less clear, rather than more

rancid creek
#

You can clearly put the lens anywhere, and then perform tilt and rotate operations until the lens goes to the correct spot.

#

congrats

cyan sleet
lucid narwhal
#

&aoc lb

shut trellisBOT
#
Wrong Channel

You are not allowed to use that command here. Please use the #aoc-bot-commands, #sir-lancebot-playground, #bot-commands channel(s) instead.

rancid creek
ripe meteor
#

I'd rather rely on a flimsy implementation detail thanks
I just stuffed them in dicts

autumn kayak
#

Sms forword code

rapid wolf
#

it's not an impl detail since 3.7 I believe (if I figured out what you mean correctly)

normal dragon
ripe meteor
normal dragon
ripe meteor
#

For now

#

What about language roulette peeps

rapid wolf
#

Go randomises iteration order for maps

normal dragon
#

Well language roulette peeps will just have to suffer.

#

Or they could do what I did, which was use an array/list.

fluid sierra
#

.

jovial jay
#

It's a lot harder to emulate dictionary or utilize dictionary with languages that don't directly support something akin to dictionary

normal dragon
jovial jay
#

That's why I say that chances are other languages have their own ways.

normal dragon
jovial jay
# normal dragon I’m not sure I follow! A python dictionaries, at its core, is a hash map.

Yes, that is a hashmap. What I mean is that there are other ways in other languages often. For example, and I'm using a obscure language (G'MIC) as this is the only one I know of that can replicate a different way of hashing: ```
({expr('int(u(0,6,1,0))*12345',123)}) # Create a image with random multiple (0 inclusive - 6 exclusive) of 12345.

repeat w#-1 { # Repeat amount of time corresponding to width of image
v={i[#-1,$>]} # Set v that corresponds to the value of pixel at index $>. $> just means repeat index.

Blah codes here.

H_$v=$> # You see that $v, that correspond with the v variable. Now you can see how this is similar to hashmap. I can access it with ${H_$v}.
}

#

I use similar technique to solve Advent of Code with this language via hashing like this.

rapid wolf
#

The only hashmap in APL is the one you can get via C# interop, and that's dyalog APL specific.

#

other than that, you are stuck with arrays

#

though it does seem like you can use eval and objects

#

which is definitely sane

raw wing
#

Hello is this the correct channel if I need help with an AOC problem?

raw wing
#

Thank you!

sleek cave
#

oh shoot that's not the domain

#

lol i can never remember the url of the joke site

#

something along those lines, that redirects to aoc

minor cave
ripe meteor
#

I dont understand this joke

minor cave
#

the redirect? Just a small joke that advent-of-code is also the advent-of-realizing-i-cant-read because so many people miss over some aspect of the puzzle text/instructions

ripe meteor
#

Oh, i didnt think day5 was that difficult to understand tbh

sleek cave
#

(this is why i love aoc lol)

jovial jay
#

i think i'm doing aoc 9, now i actually understood it

rancid creek
silver karma
#

have previous years been out of order like this?

modern terrace
silver karma
#

ah yeah

#

why does Eric do that?

normal dragon
#

It's a picture

earnest forge
#

GLHF everyone

normal dragon
#

Slash story

#

GOOD LUCK!!!

silver karma
#

glgl

silver karma
modern terrace
shut trellisBOT
covert arrow
#

I'm outside rn πŸ˜”

#

P1 looks pretty simple though

minor cave
#

Language Roulette: Day 16
The language is ... Kotlin

magic oxide
#

definitely don't have the time to do this rn

#

hopefully not too bad

#

I have stuff I'd like to do tonight

flat sequoia
#

Done 3/4

magic oxide
#

ooh today looks fun

#

||complex multiplication should come in very handy||

earnest forge
#

90/59

#

I screwed myself by ||forgetting to check for loops||

earnest forge
#

LB full!

minor cave
#

you can blame my cat for the delay, he demanded attention

earnest forge
#

I'll forgive you, if you can show us the culprit πŸ™ƒ

#

(cat tax)

silver karma
flat sequoia
#

I didn't even think of it

pine tiger
#

seriously what's with me this year

#

i'm so washed 😭

flat sequoia
#

😧

minor cave
#

A picture of the culprit from a bit ago

earnest forge
#

All is forgiven

#

He does look very worthy of attention

flat sequoia
#

omggg

minor cave
#

Oh wait, better picture from today

modern terrace
#

how do what

#

mine works for the test input but fails for the real thing

earnest forge
#

Wow I didn't realise there even were edge cases like that today lol

#

Is it maybe that ||you're not handling the case where you spawn on a splitter properly||?

modern terrace
#

yes

#

exactly

#

that

#

thanks

magic oxide
#

||splitters are a real/imag check followed by a multiplication by 1j/-1j||

earnest forge
magic oxide
#

||yeah, your facing vector is one of (-1, 1j, 1, -1j), and you can change the orientation via multiplication to rotate it||

#

||that's how I typically implement rotation for these types of problems||

#

||haven't actually done the problem yet, so idk if what I'm thinking of actually works||

#

||we'll see||

flat sequoia
#

Yeah I think that works

#

Pretty cool

modern terrace
#

now why's my part 2 not working

flat sequoia
#
######....
.#...#....
.#...#####
.#...##...
.#...##...
.#...##...
.#..####..
########..
.#######..
.#...#.#..
#

Why is the pic in today's problem kinda sus

modern terrace
#

single letter variable names are not advisable

pine tiger
#

bc i can't really see it

flat sequoia
#

Maybe I just have brain rot

rancid creek
flat sequoia
#

today's chat is so inactive 😧

mossy basin
#

it'll continue to drop off probably

hollow wharf
#

Am i not seeing Day 16 spoilers discussion?

hollow wharf
#

Discord on mobile so bad i cant go there

magic oxide
magic oxide
#

and some people haven't caught up with previous days yet

flat sequoia
#

dang

magic oxide
#

I haven't done today yet since I've been out all day

trim rain
#

😿 i've caught up to day 10 finally doing day 11 rn on my way to catch up, i cannot help but think so far the only challenging question has been day 5 is it just me?

#

i mean the general difficulty at start was higher than usual but i'm talking more about needing to do find clever solutions instead of just bruteforcing

magic oxide
#

day 8 was challenging until you found the assumption

trim rain
#

yeah if you haven't done alot of graph problems i can see it being tricky but it was still way easier than day 5

#

it may just be me being stupid tho as i did spend like half a day trying to do day 5 meanwhile no other problem so far has taken more than 30 mins so...

mossy basin
#

was trying to remember what day 5 was

trim rain
#

it was the thing with reallly big ranges

mossy basin
#

that one is easy if you already have an interval library

magic oxide
#

day 5 was on the harder side but I really enjoyed it

mossy basin
#

!pypi mind_the_gaps

marsh currentBOT
trim rain
#

i am doing every day in a different language and without any imports (except for needed ones like io.File in java/clojure) so that's kinda hard

mossy basin
#

rip

magic oxide
#

but yeah every other day hasn't been too bad imo

trim rain
#

yeah honestly day 9 was easier than day 1

#

idk what's going on with the difficulties

mossy basin
#

i think day 12 was the hardest

magic oxide
#

ah right

#

I didn't find day 12 too hard, but yeah I'd say it was hardest so far

mossy basin
#

but i'm sure we're gonna have some hard ones coming up

hollow wharf
#

dam

#

<@&831776746206265384>

hazy ginkgo
#

!pban 1182906123657957480 scams

marsh currentBOT
#

:incoming_envelope: :ok_hand: applied ban to @stray temple permanently.

lime fulcrum
#

today sounds fun. interesting problem

#

might have to solve later. it sounds like it would take a while

glad tartan
#

targets 3.11

dense osprey
zenith elbow
# rancid creek

I like how I stopped doing it daily just when it went from hard to medium

lime fulcrum
modern terrace
#

ok i'm not reading my times correct

#

hold on

#

okay

#

justifiable

dense osprey
#

knowing that a problem is easy, makes it obvious that "advanced" algorithms wont be the solution

#

making the coming up with a solution easier

#

imagine seeing a leetcode problem marked as easy

#

would you even consider using dp?

#

or does the difficulty tell you that the solution probably is some easy algo or just bruteforce

lime fulcrum
#

given that I don't know a lot of these complex algorithms it only tells me can I solve this before I am supposed to go to bed or am I going without sleep

lime fulcrum
#

fair. but rather small one

dense osprey
#

yea ig

#

leaderboard times are public thus not a big one ig

hidden musk
dense osprey
#

knowing that a lot of people are struggling with a specific problem gives away the information that the problem wont have an "easy" solution

hidden musk
#

Β―_(ツ)_/Β―

lime fulcrum
full zinc
#

All problems are easy if you're good enough B)

dense osprey
woven sable
#

yall think it's plausible to catch up if i'm 4 days behind?

#

or nah

#

like are days 13, 14, 15, and 16 really hard or nah

hidden musk
#

16 was p easy

ripe meteor
#

I think day12 was the last hard one

woven sable
#

ima try and push through then

ripe meteor
#

Just be mindful of the little things
Off by one errors and stuff

#

Conceptually theyre easy but i spent a lot more time than i should hunting down these things

rancid creek
lime fulcrum
#

today is kind of getting long πŸ˜…

hollow wharf
#

yo this is my first year doing aoc and today i found out i can still do past years challenges and get stars for it too

#

it seems i got things to do

lime fulcrum
#

yeah its quite fun but i got enough to do with today XD

hollow wharf
#

xD

rancid creek
hollow wharf
rancid creek
lime fulcrum
rancid creek
hollow wharf
#

since there is actually somebody here i will ask what day you find the hardest so far?

lime fulcrum
#
  1. haven't done that one yet. 10 was also tricky but in a fun way
hollow wharf
#

yep 12 for me too πŸ˜΅β€πŸ’«

rancid creek
#

Yup 10 and 12 a little harder, but not impossible. Ask for hints or at least hints on what to google, don't waste time spinning when you could be learning. πŸ™‚

hollow wharf
#

thats exactly what im doing

lime fulcrum
hollow wharf
#

thats p1 i belive

rancid creek
#

Part 12 wasn't ||a lot of code||, but it took ||some time figuring them out||.

lime fulcrum
hollow wharf
rancid creek
lime fulcrum
#

so yes. thank you

hollow wharf
#

but are you on p2

lime fulcrum
#

not yet. just means my p1 can't be too slow

hollow wharf
#

ah if you wanna know p2 is just ||repeating p1 440 times|| 🀫

lime fulcrum
#

yeah that I've stumbled upon

rancid creek
hollow wharf
#

not me ||taking code from day 10 and rewriting a bit||

lime fulcrum
muted aurora
rancid creek
muted aurora
#

Who needs jnz

rancid creek
#

Jeeze! /insert scientists not asking why meme πŸ™‚

agile silo
#

im trying to do day8 part 2

#

im using lcm, but i get a pretty big output

#

I get too many steps the ghost should travel

rancid creek
lime fulcrum
#

that seems right

agile silo
#

i get

#

lol

rancid creek
#

That does look too high

agile silo
#

it is

rancid creek
#

||Did you write your own lcm, or use the one in math ?||

agile silo
#

i just multiply all individual steps // gcd(steps)

rancid creek
#

||ok, try using math.lcm and see if you get a different answer||

#

all of this is too much for this channel.

#

we should move to hints or the the part 8 channel.

agile silo
#

it is now correct

rancid creek
#

Hurray!

agile silo
#

maybe the overflowed

#

and that made it not work

#

i didnt know there was a lcm in math

rancid creek
#

v 3.9

normal dragon
#

Love all the batteries in python's standard library

simple raven
woven sable
#

actually?

#

ima take a shot at it then

lusty rover
#

Always take the shot

#

The worst that can happen is you get stuck

low condor
#

you miss 100% of the shots you don't take

woven sable
#

only worry is how much time i have

#

i've been super low on time this year versus past years

low condor
#

Wayne Gretsky
Michael Scott

woven sable
#

the one thing throwing me off about day 13 is j like

#

the fact that not all columns will have a reflection

#

but i'll find a way past that

rancid creek
rancid creek
# woven sable but i'll find a way past that

They'll have a reflected row OR column. I'm not sure any have both, and none have neither.

To find the reflection in each pattern, you need to find a perfect reflection across either a horizontal line between two rows or across a vertical line between two columns.

pine tiger
#

lmao i'm tryna to do 2019 again

jovial jay
#

@rancid creek You weren't kidding, part 2 is a trap for Day 9

#

well, one thing to do is to debug of course

muted aurora
jovial jay
#

not sure if it'll be useful there though, but we'll see

muted aurora
#

probably not, I'm just justifying my decisions to throw everything-but-the-kitchen-sink into my stdlib

jovial jay
#

yeah, i tested it, it's not useful for this case

rancid creek
pine tiger
#

i got the matrix multiplication, but it just isn't working out

rancid creek
#

So any predictions? I'm guessing tonight might be a harder one.

#

n dimensional maze pathfinding while avoiding moving objects.

pine tiger
#

god please no

rancid creek
#

part 1 is pac man, part 2 is pac man in 4d

rancid creek
pine tiger
#

bro seriously what was eric on when making 2019

#

16, that day, 22...

rancid creek
pine tiger
rancid creek
pine tiger
#

oh lol

rancid creek
#

using data from leaderboards

pine tiger
#

also why is day 16 put as easy it's literally the one i'm malding on rn

jovial jay
#

i don't wanna know what insane looks like

#

do i?

rancid creek
torn thorn
#

totally forgot this was happening this year damn

jovial jay
rancid creek
#

So it's a relative scale. If it takes you an hour for an easy, you can expect the insanes to be several hours.

sleek cave
rancid creek
#

No, it's a WIP, but one sec, someone ran with the idea and made a cool web site.

#

The only reason I made it was to track whether weekends really are harder. They're not, but the last couple of weeks do tend to be harder, regardless of day.

#

One really cool thing xhyrom did was automate it so it's always up to date. I was updating by hand. lol.

rancid creek
pine tiger
#

like i really don't like the ones that require examination of the input

woven sable
#

i don't like the ones where u have to modify the input

low condor
woven sable
#

i mean it wasn't that hard it was j annoying lowkey

lusty rover
woven sable
#

and didn't really require much thinking

low condor
#

If you code the best in P1 you are sometimes rewarded in P2

low condor
lusty rover
#

What's wrong with being Mr. Verbosity?

woven sable
jovial jay
low condor
low condor
woven sable
#

yeah that's fair

#

i can't imagine how fast his solutions must be to every problem

woven sable
#

he must be crazy good at competitive programming

#

to run thousands of peoples' solutions

low condor
#

Perfection πŸ‘Œ

pine tiger
low condor
#

Needed lots of help just to even solve P1

#

P2 as yet unsolved

#

That day and Conway cubes basically are my most hated days

pine tiger
#

what was conway cubes

rancid creek
# low condor P2 as yet unsolved

Trying to remember part 2, but I seem to recall some sort of modified bfs where I passed along game state. I'd have to go back and look again.

low condor
#

Basically could not do that one without looking at a solution

#

I currently have a solution that is incredibly nicely written by myself to which I have no clue how it works

#

3D geometry combined with huge ranges is 100% the worst for me

rancid creek
#

I was more cryptic that year I think. =/

low condor
#

Yeah I have no idea what that code means πŸ˜‚

#

Let me post my written code

#

Actually it’s not Conway Cubes, what am I saying

#

That one was fine

pine tiger
#

switching cubes on and off one, is it?

low condor
#

Yeah it’s another one

pine tiger
#

shudders

low condor
#

That one

#

Reactor Reboot

#

2021 day 22

#

If someone can decipher my solution that would be very much appreciated

#

I wrote comments in order to gaslight myself into believing I understand how this works

sleek cave
#

then i saw your most recent message πŸ˜‚

rancid creek
#

One of the ones that was harder for me was one I made leaderboard on -- by solving it by hand, and then took forever trying to figure out how to translate what I did by hand into code.

sleek cave
#

pathfinding with keys and locks - wtf

jovial jay
#

Day 11 map looks a lot like poisson noise

magic oxide
#

looks like you did

#

for explanation, it's far easier imo to start with considering 1d intervals

#

the inclusion-exclusion principle describes why the method works

#

when you calculate all the intersections when adding a cube, you're essentially bumping up from inclusion exclusion on n sets (our intervals in this case) to n+1 sets, which you can do by (stuff including n intervals) + (new interval) - (stuff including n intervals intersectioned with the new interval)

#

makes a lot more sense seeing it that way imo

earnest forge
#

GLHF today everyone

minor cave
#

Language Roulette: Day 17
The language is ... Lua

mossy basin
#

the one non-python language i could do

#

but won't

hexed axle
#

I can write code in any language--I can't right functional code though, and the roulette is just reminding me of all the ways I can't πŸ˜…

shut trellisBOT
shy trench
#

finally the path finding day arrives

tiny tendon
hexed axle
#

nice, congrats to the looking for internship guy, that's fun to see

jovial jay
#

that looks painful to do

covert arrow
#

Looks like ||Dijkstra||

hexed axle
covert arrow
#

I forgot to bring my laptop though, so all I can do is sit and watch

devout turtle
# covert arrow Looks like ||Dijkstra||

Who (or what) is Dijkstra in this context? I believe I’ve seen that name coming by somewhere this month already, but since a it’s a fairly common last name in Dutch, I guess googling for it won’t bring much related results.

hexed axle
pine tiger
#

ok done done

earnest forge
#

My pathfinding isn't working why am I stupid

pine tiger
#

but ||iterating through all directions not the current one|| doesn't work

hexed axle
#

20 on the dot today, that's nifty

pine tiger
#

i had to like ||make a dict for each direction to each other direction|| for crap to work

minor cave
mellow girder
#

python language roulette?

sleek cave
#

oooo, pathfinding

#

time to visit my old friend ||dijks||

#

forgot how his ||algo|| works lmao

#

been some time

magic oxide
#

finally

#

I missed the start because I was eating

pine tiger
#

unfathomably based

earnest forge
#

Ahh I figured out what I did lmao

#

||I wasn't caching my x and y runs in my visited set||

#

606/460

zinc kindle
#

Wow. Managed top 1000 for both problems, and took not much time for part2. I am very grateful to the author(s) of the ||pathfinding|| module for making part of the problem a lot easier than it would have been had I implemented the function itself.

pine tiger
#

what's that module?

zinc kindle
pine tiger
#

man, rust

zinc kindle
#

I prefer python (easier input parsing, batteries included, can write recursive inner functions), but I'm trying to learn rust, and that crate is a godsend in AoC.

pine tiger
#

haha gl

#

i tried rust before and it was so bad i wrote a blog post about it

#

(golang, which i'm learning now, is worse though)

zinc kindle
earnest forge
#

And this is because a) strings are hard and b) other languages that do string handling properly are also linear-time lookup, they just shove it in the indexing operator and you don't notice because it really isn't a huge deal

#

(also &String is generally not a useful type, not sure why you mentioned it as well as String)

#

The one in parse isn't necessary, the one on the left (or alternatively as a turbofish of collect) is necessary to declare the type of container you want, it could also be a HashSet, for example

#

...they can't? All array indexing is usize

wet yoke
earnest forge
#

This is the good ternary operator btw - since blocks are expressions, why have two ways of writing the same thing
Btw what you want really is <integer_type>::from(ring % 2 == 0) and there's a clippy lint for that

#

This one does trip me up but there is a good technical reason for it: Inner functions can be monomorphised separately this way (or not at all if they're not generic), which leads to faster codegen and encourages the use of inner functions over private external functions

pine tiger
#

lmao every time i post this

#

people rag on me for it

earnest forge
#

because your takes are bad /j

rancid creek
rancid creek
rancid creek
pine ravine
#

what was the hardest day this year so far?

#

the almanac one with range splitting?

covert arrow
#

I'd say 12 (hot springs matching)

hollow wharf
dense osprey
#

day 12 was easier than day 14 imo

lime fulcrum
#

guess i'll be learning path finding then. kind of excited

pseudo cape
#

help me with this code guys so that it could pass the bellow case tests

covert arrow
thin blaze
#

Today was hard for me... T_T

scarlet zephyr
ripe meteor
jade atlas
#

What are some other algorithms I should learn for the next few days. I never used dijkastra or a*, I learnt they will be usefull so I studied them a little before today. What are some other well known algorithms that occur frequently in the last few days?

rapid wolf
#

I would look into the chinese remainder theorem

jade atlas
rapid wolf
#

It's generally more related to N things happening in a cycle and starting to cycle at some step. Find some detail about that

rocky spire
#

It's a theorem that relates a bunch of equations (congruences) like this

x % m1 = a1
x % m2 = a2
x % m3 = a3
...
```To this "merged" equation:

x % (m1m2m3*...) = a
```And along with it you'll usually learn how to calculate a given the x % mk = aks

jade atlas
rocky spire
#

Oh, nvm then

hollow wharf
#

Hey everybody, can someone tell me where I can learn Python and do practice lessons for free or cheap?

rancid creek
# dense osprey calc?

no calc, ||just throw a minus sign in||
||```py
a,b = -1,0
c,d = -a,-b
c,d == 1,0

you can get the reverse of any direction this way.
rancid creek
rancid creek
dense osprey
dense osprey
rancid creek
#

funny thing is, you remove the braces and ; and it starts to look like python. πŸ™‚

lusty rover
dense osprey
# rancid creek

this is still better than people who do following:

void func() 
{
  // code
}
#

writing code like this should affect your credit score

rancid creek
earnest forge
#

1TBS, 4-space indent is the only correct way to do braced languages

dense osprey
#

i meant the placement of the {}

#

i hate seeing it

dense osprey
#

pressing tab in text editor gives some weird indent

#

and word too i think

earnest forge
cyan sleet
cyan sleet
#

I bring to you: GNU style

jovial jay
#

Personally, I use 4 spaces/tabs on Python. On other languages: I use 4 spaces/tabs on C++.

jovial jay
# cyan sleet

that's terrible. they should be aligned so that that scope is easier to read

cyan sleet
earnest forge
jovial jay
normal dragon
jovial jay
#

imagine deeply nested 8 chars tab if else statements

earnest forge
earnest forge
normal dragon
#

yo sup

cyan sleet
#

in a very limited fashion

#

e.g. this doesn't do anything sensible s/(very)/\1 \1/

#

and e.g. s/foo/bar/g

#

bar/g test foo

#

(starting from foo test foo)

rancid creek
# cyan sleet

any semi colon using language should require the semicolon at the start of the line. πŸ™‚

cyan sleet
#

I mean...you could write it like that

earnest forge
rancid creek
woven sable
#

for day 13 or wtv the reflection one was

rancid creek
#

tr/q/:/

#

nope

woven sable
#

i think my programs getting confused by head fakes

#

like it thinks there's a vertical reflection at the end

#

but in reality there's a horizontal reflection

#

problem wise, is it better to j use the reflection w more points reflected ig

earnest forge
#

Make sure to check that the reflection isn't empty

#

Or if this is part 2, ||make sure to check that there actually was a smudge in that reflected region||

rancid creek
woven sable
#

nvm i figured it out but part 2 kinda confuses me w the instructions

#

||in the second pattern, why can't the reflection still be on the 3rd/4th row?||

earnest forge
woven sable
#

ohh i see

ripe meteor
#

we escape the filter once more

woven sable
#

i finished day 13 πŸ™

#

4 more days to go

rancid creek
broken dock
woven sable
#

is day 14 part 2 ||going to be too slow by j doing a naive solution?||

rancid creek
covert arrow
rancid creek
broken dock
#

@woven sable assuming that the state of the grid after every single cycle was unique, the only valid solution would be to simulate all 10^9 cycles (and this would take a while for anyone)

#

so my hint is: ||assume that there aren't that many unique states, and that duplicates begin to occur after some number of cycles||

rancid creek
broken dock
#

feel like shayaan's question ab part 2 of 14 makes that evident

#

i would like to note that I was also in the same boat

#

still can't get used to aoc

#

i have a habit of operating under the assumption that i'm going to be tested against multiple inputs (most hidden)

rancid creek
#

Another med/heard one last night. Surely tonights will actually be a difficult one then? I keep getting ready. πŸ™‚

#

At least I was right that last night ended up being maze finding.

muted aurora
#

lets go back under 0.1s

drowsy oak
#

for problem 17, they don't give the size of the 2d array?

#

or do we assume that the max size is the example array they gave?

muted aurora
#

Yeah they usually don't give you a max size of the 2d array

#

the full input size is the same for everyone I believe, so I end up just looking at that

drowsy oak
#

before we time out

#

I found a brute-forcey dynamic programming sol with 3084588 operations

muted aurora
#

there's no time out

#

you're not submitting the code, only the answer

#

as long as you're ok waiting for it lol

drowsy oak
#

LMFAO

drowsy oak
#

like how many operations before I wait a day

muted aurora
#

that's what 10 million? shouldn't be that long. Depends on your definition of "operation" though

#

let's not discuss solutions here

drowsy oak
#

like idk if i'm being dumb or not

pine tiger
muted aurora
pine tiger
#

damn

jovial jay
#

I wish I can make my own lang, but that's too much time and effort

normal dragon
jovial jay
#

But, for now, I can get by current options

hexed axle
#

Language Roulette: Day 18
The language is ... Ruby

covert arrow
#

GLHF

earnest forge
#

GLHF

shut trellisBOT
magic oxide
#

oof

#

haven't even had time to do yesterday's yet

covert arrow
#

pycharm is not working for some reason

#

another ||optimization|| puzzle today

#

I don't even know where to start with this one

rocky spire
#

Part 1 doesn't seem to be using the colors and I'm scared

devout tusk
#

Is P1 just regular|| floodfill||?

earnest forge
#

No idea what the optimisation for p2 is

zenith elbow
#

what's p2 about?

covert arrow
#

||same thing with really big numbers|| basically

somber crow
#

i just leaderboarded for the first time :)

rancid creek
covert arrow
#

how do you do p2

somber crow
#

i used ||shapely||

rancid creek
covert arrow
#

||d10?||

rancid creek
#

omg. my code stalled on the 623rd line...

rancid creek
#

heart stopping moment there when it paused on the last 2 lines.

zenith elbow
#

leaderboard is full lemon_eyes

hexed axle
#

20:55 today, we're late in the month and still getting leaderboards filled up early on

flat sequoia
#

I had it so fast man

#

but then I spent 8 minutes debugging correct code

#

LMAOOO

#

sobbing

pine tiger
#

wait wtf

#

what's wrong with my ||shoelace||

rapid wolf
#

spoilers ty

flat sequoia
pine tiger
#

ok done

#

not sure why my answer is off by one tbh

flat sequoia
#

😧

pine tiger
#

ok wait i think i realized

#

honestly kinda elegant tbh

earnest forge
pine tiger
#

smth smth ||4 corners||

earnest forge
pine tiger
#

really, as soon as problems require some amount of neuron activation

#

i crumble

earnest forge
#

If you imagine ||the coordinates to be the centre of each cell||, when you ||halve the walls|| you're effectively ||undercounting ΒΌ of each corner||

#

Wait no that would be ||overcounting|| why is the OBOE in the other direction

flat sequoia
#

oh noooo

earnest forge
#

Off By One Error

pine tiger
#

i took the ||shoelace area and added the distance traversed / 2||

earnest forge
zenith elbow
earnest forge
#

Oh wait I have a better way to understand it
||if you treat the coordinates as the top left of each cell, the shoelace gives you the internal area + half the walls - 1 cell (the top right and bottom left corners are both omitted)||
||so when you add half the walls rounded down you need an additional cell to make up for the corner that wasn't counted||

pine tiger
devout tusk
#

Why are the colors even provided? Is p2 horrendous?

pine tiger
#

they're not colors.

earnest forge
#

||p2 tells you that the colours and instructions are the wrong way round||

devout tusk
#

Is p2 basically using the hex value of colors as lengths?

pine tiger
#

thousand yard stare

devout tusk
#

||shapely|| ftw, i guess

silver karma
drowsy oak
#

idk, but for competitive coding 10^8 is generally how many operations you can do

tall wasp
modern terrace
#

if i had remembered how ||pick's|| and ||shoelace|| worked maybe i could've been in the leaderboard again πŸ˜”

surreal sapphire
#

wat is advent of code

thin blaze
#

Day 18 was trivial comparatively to yesterday. x)

rapid wolf
#

meh, ||knowledge check like knowledge check, not much sense in talking difficulty IMO||

simple raven
jade atlas
#

I feel ashamed for forgetting about ||pick's theorem|| from ||day 10||

tall wasp
silver karma
#

Is it just me or is the puzzles this year much easier than they were in 2022? I had to stop around ~11 last year as it was just beyond my comprehension but this year I've stumbled my way to 18, with a couple of the later days such as 15 and 16 being quite easy to do on my own

modern terrace
#

or there was just more knowledge accumulated throughout the year

simple raven
# silver karma Is it just me or is the puzzles this year much easier than they were in 2022? I ...

I must say that my decision to seek help this year instead of just trying to solve everything on my own has made my AoC experience waaay better. I still managed to solve half of the problems without any help at all which makes my non-CS heart happy. I do feel like the later days seem quite manageable, especially after seeing all sorts of approaches to problems from previous days. To me that is a sign of a well-made set of puzzles where earlier solutions help you with the rest.

simple raven
#

||first we found the bits inside a 2D loop (day 10), then we traced a ray across mirrors where some mirrors has special behaviour based on direction of travel (day 16), then we had to solve day 10 in 3D with a much larger step size, except all motion only happened in a 2D plane (day 18, we were removing cubic metres). Are we about to do these steps in 3D? O.o||

vale fossil
#

||stop using spoilers pls i am going to jump offa brig πŸ’€||

misty wolf
#

|||hi|||

simple raven
misty wolf
#

||||||oh yeah ||||||

simple raven
#

||lol||

sleek cave
#

i procrastinated learning ||shoelace and pick|| on day 10, looks like it's time to do it now :P

#

i have no idea what those two magic words entail

#

but it's time to Find Out ℒ️

ripe meteor
#

You dont need those two if youre giga brained
Apparently a friend ||computed all the corners and fed em to autocad to build the polygon shape and get its area||

simple raven
rocky spire
#

Or yknow, ||sweepline||
I honestly find it surprising I still haven't seen anyone solve today with it

ripe meteor
#

Well yes but you need to write code for that

simple raven
ripe meteor
#

Which one

simple raven
#

there are many geographical libraries in python and they use it as a baseline for calculations

simple raven
ripe meteor
#

Oh ok i've heard of that one

pine tiger
#

wonder how far i'm going to fall these days

magic oxide
#

my day 17 works for the test cases but not for my input PensiveCat

#

ok changing a number worked

#

idk why

#

but it works

gloomy kernel
#

ok fuck fuck fuck

#

i missed 2 days

cyan sleet
feral hazel
#

considering adding a bunch of imports to my template
it makes a pretty even staircase lol```py
from collections import Counter, defaultdict, deque
from contextlib import suppress
from functools import cache, partial
from itertools import batched, chain, count, combinations, groupby, islice, pairwise, permutations, product, starmap, tee
from operator import eq, gt, lt, ge, le, add, sub, mul
from pathlib import Path
from bisect import bisect, bisect_left, insort, insort_left
from heapq import heappop, heappush
from math import ceil, dist, floor, gcd, inf, lcm, prod, sqrt
from sys import setrecursionlimit
from re import findall, finditer, search

ripe meteor
#

What template is this for

feral hazel
ripe meteor
#

Oh i didnt realise i was in this channel

feral hazel
#

actually i could probably just paste it in here it's about the same size as the previous code block lol```py
from contextlib import suppress
from itertools import groupby
from pathlib import Path

with (Path(file).parent / "input").open() as f:
data = f.read().rstrip()

lines = data.splitlines()
blocks = [tuple(group) for has_content, group in groupby(lines, bool) if has_content]
with suppress(ValueError):
ints = [int(x) for x in data.split()]

rancid creek
#

for re I have to use import re as I use the flags a fair bit. Not to mention the occasional use of compile and match

feral hazel
#

ooh yeah
i just grepped the folder to see what i tended to use
in the problem where cycle would've been useful i just multipled the string by a big number lol

normal dragon
normal dragon
feral hazel
#

oh yeah last year i used namedtuples a bunch
working in 2d with classes was so much easier

feral hazel
normal dragon
feral hazel
#

fair

normal dragon
#

Or properly debug using a debugger

feral hazel
#

print debugging ftw

#

i've been dabbling in haskell and it's a miracle i haven't passed in io to print debug a function yet

simple raven
agile silo
#

I was trying to solve day 10 part 2, but the squeezing part is complicated...

#

otherwise I would do a simple coloring algorithm

#

like, travel from the inside, all tiles that are connected

#

but if there are pipes that are squeezed together, I wouldnt be able to travel through those

#

unless I did something...

#

any hint?

#

or any other different approach that I could take (just hint)

normal dragon
rancid creek
feral hazel
#

ah i've always preferred using the one in typing
why is it in typing actually

normal dragon
simple raven
rancid creek
#

Should add x,y,z to that and clean it up.

normal dragon
#

Work sreally nice if you have named directions

#

Up = Point(1,0)
A += Up

rancid creek
normal dragon
#

Well you could do that too ^_^

simple raven
#

this was my Range class for ||day 5||, it made writing the solution much much easier
||```py
class Range:
def init(self, start: int, end: int = None, steps: int = None):
self.start = start
if steps:
self.end = start + steps - 1
else:
self.end = end
self.seen = False
def contains(self, item: int):
return self.start <= item <= self.end
def repr(self):
return f"Range({self.start}, {self.end})"
def lt(self, other):
return self.start < other.start
def gt(self, other):
return self.end > other.end

rancid creek
#

Probably not, I'd go with a move, and some enums

rancid creek
normal dragon
#

!e

class Range(range):
    pass
marsh currentBOT
#

@normal dragon :x: Your 3.12 eval job has completed with return code 1.

001 | Traceback (most recent call last):
002 |   File "/home/main.py", line 1, in <module>
003 |     class Range(range):
004 | TypeError: type 'range' is not an acceptable base type
normal dragon
#

You could still make a custom Range() class and use the range item under the hood (though that’ll be slow for some operations, like the in operator)

normal dragon
#

Oh I’m thinking of something else

#

There was something where range was expanding out into the actual numbers of it

#

I don’t remember I was probably doing something stupid

feral hazel
#

ah ok

rancid creek
# normal dragon !e ```py class Range(range): pass ```

ah right, that's one of the reasons I abandoned it. Also it was getting silly with the permutations.

def __sub__(self, other):
    b0,b1 = self.start,min(self.stop,other.start)
    a0,a1 = max(other.stop,self.start),self.stop
    return (ORange(b0,b1) if b1>b0 else (),ORange(a0,a1) if a1>a0 else ())

pretty sure that spoils nothing at all.

normal dragon
#

Yeah I have no clue what that represents

rancid creek
#

compared to just using actual ranges which was fine.
||```py
for r in seed_ranges:
# Split range into 3 possible ranges using r1, r2 as the potential breakpoints
B = range(r.start,min(r.stop,o))
A = range(max(a+o,r.start),r.stop)
M = range(max(r.start,o)+d-o,min(a+o,r.stop)+d-o)
if B: new_ranges.append(B)
if A: new_ranges.append(A)
if M: converted_rules.append(M)

normal dragon
#

Built-ins where possible is usually a good move. That looks clean

rancid creek
#

BAM.

normal dragon
#

Though…

#

I don’t know, self, I feel like you could compress that down into a single line

rancid creek
normal dragon
#

(I was just trying to bait you into doing absurd golf)

#

Also, now I recognize the code

#

Or rather which problem it was

lime fulcrum
#

bit stumped today. i liked day 10 more

normal dragon
#

I haven’t read the puzzle yet, but ||I saw someone mention it requires knowledge of a specific algorithm||

lime fulcrum
#

i hope it doesn't. its basically day 10 but with directions instead of a given grid

rancid creek
normal dragon
#

Super clean

rancid creek
lime fulcrum
#

||might not be. I relied on knowing when there is a corner. guess i could do where I came from and where i'm going at that point||

rancid creek
normal dragon
#

I’m very far behind. It always gets challenging keeping up in the later days with my social obligations

rancid creek
lime fulcrum
#

||ok idea i go basically the same way with tracking in and out by toggling but i'm doing it it in x and y seperately so it doesn't matter if there is a lot of space inbetween. might have to mark in all intersections though on both lists||

rancid creek
normal dragon
#

I usually can figure out when I need to start looking up algorithms or asking for help

rancid creek
#

I liked how one guy figured out a neat trick for one of the days and explained it, and someone else replied with a link to the wiki page explaining the same theorem.

normal dragon
#

Like the last three days have all been filled with holiday social/family things

normal dragon
#

Especially the super fast solvers with the their one line solutions

rancid creek
#

I've got a personal battle with one guy. We think alike and post similar code, but his is so much cleaner especially when he uses numpy. Curses.

rancid creek
#

me: I did a cool solve!
him: like this (link to better code)

rancid creek
normal dragon
#

Haha

rancid creek
#

jokes aside, he's great. especially when he does numpy stuff, and we've bounced some ideas off each other in the past.

normal dragon
#

I almost never use numpy

rancid creek
#

4HbQ and jonathonpoulson are prob my 2 favs to follow on reddit and anything @mossy basin posts on discord. always a good read.
jp's code is generally a mess, but I love the speed he cranks it out at and the way he explains what he's doing after.

normal dragon
#

I love watching Jp’s solves

#

I always go β€œgfdi how is he so fast”

rancid creek
#

I did one last year (or 2021?) I finished but wasn't happy with how slow my code ran, so I watched his vid, and 1/2 way through the solve he says "this won't work" and swapped to c for the rest of it.

normal dragon
#

I also really enjoy the early isolang days

#

I’ve hit the leaderboard all of once. That was early day when it wasn’t nearly as competitive as it is now

rancid creek
#

Yesterday was my first leaderboard this year. I've been going casually and didn't expect to hit it at all this year.

normal dragon
#

That’s awesome! Way to go

rancid creek
#

Thanks. But I was happier with rewriting it to finish in 1ms. the Original version the one that got on the leaderboard took 2 minutes to finish. lol

normal dragon
#

Nice. Excited to peek at your code later. I’ve enjoyed the discussions so far this year

rancid creek
#

In short there's an ||O(n) solution|| but my original ||was O(n*m)|| (<--- you can look at this later)

#

ok, brb. Being taken shopping. My favorite. πŸ™‚

normal dragon
#

I wish more engineers understood algorithmic complexity. Like you don’t need a super in depth knowledge of it, but having some knowledge is good

normal dragon
rancid creek
lime fulcrum
rancid creek
#

I had a team working on a web front end to showcase how amazingly fast and real time our search engine was. But it took ~5 seconds to LOAD the web page. The Engineer working on it added a cute spinning logo to mitigate it but I was still annoyed it made us seem slow.

So I assigned another engineer to help see if he could speed up the loading code. Around lunch time I see him and asked if he'd found anything yet.

him: yeah, what do you want the load time set to?
me: well 0 ideally but do your best
(pause)
me: what do you mean "set to"

Turns out that the first engineer had added a sleep(5) to the page to make it look like it was a professional site and was doing a lot of setup.

simple raven
#

LOL

lime fulcrum
#

oof

#

yeah I aspire to never do that

rancid creek
#

ok, brb, have fun all

simple raven
#

every now and then just regex find sleep(%d) and replace with '' in the codebase

normal dragon
#
#

I can’t believe you ran into it in the wild

simple raven
normal dragon
#

grep is a command line utility that searches through text files

strange zinc
#

Cap, you a vim user?

ripe meteor
rancid creek
normal dragon
normal dragon
normal dragon
#

I just hadn’t seen that one in the wild. I’ve seen unintentional examples. Like once some dev wrote some silverlight code that had an animation that ate up huge amounts of cpu and eventually crashed the computer from a memory leak

lime fulcrum
# normal dragon I just hadn’t seen that one in the wild. I’ve seen _unintentional_ examples. Lik...

but lets not pretend its isolated to programming. screw up at work: we have o ring seals for different temperatures. the 180 degrees ones are a lot more expensive. someone put in 160 degree seals in the 180 degree seals box. which work for the 30min of testing we do in house but start leaking after 5 hours when its with the client.... not ideal. also 180 was like 20.- and 160 about 5.- visually identical

royal gull
rancid creek
royal gull
#

lol, I did same too...

rancid creek
# lime fulcrum but lets not pretend its isolated to programming. screw up at work: we have o ri...

...1999 Mars Climate Orbiter

An investigation indicated that the failure resulted from a navigational error due to commands from Earth being sent in English units (in this case, pound-seconds) without being converted into the metric standard (Newton-seconds). The error caused the orbiter to miss its intended orbit (about 90 miles, or 145 kilometers) and to fall into the Martian atmosphere at approximately 35 miles (56 kilometers) in altitude. The spacecraft disintegrated due to atmospheric stresses.

normal dragon
#

Floating point rounding errors

lime fulcrum
simple raven
#

it's funny to see in the stats the drop on day12 and then everyone who managed to get through day 12 stayed for the next 3 days πŸ˜„

noble skiff
#

i must admit I may be close to my limit πŸ˜›

#

didn't have time to do much Friday-Sunday because of real life; caught up 16 and 17 now, went relatively smoothly.
18 isn't hard but I'm just pretty sick of such questions; not much motivation to od it

simple raven
#

fair, I'm waiting for the next dijkstra so I can skip it again and be done πŸ˜„

noble skiff
#

lol

#

I didn't mind the djikstra as much tbh

#

I think largely because at least that felt a little more fresh

#

and the actual grid-like nature was not nearly as forefront. for day 18 most people are just using a formula they barely understand which I'm not that interested in doing πŸ˜›

simple raven
#

I have never learned path solving algorithms so it was either spending all day on the problem or watching movies with family...

noble skiff
#

djikstra is fun and worth learning fwiw

simple raven
#

I want to come back to it after christmas celebrations are over and redo day 12 for dp and 17 for dijkstra

rancid creek
#

You might still be working on day22 then ....

rancid creek
#

the puzzle is figuring out you need something that counts the ||area of a polygon||, googling algorithms to do that is part of the solve.

#

and maybe you learn enough, that next time you still know the options you have.

noble skiff
#

I think as always for AoC, people draw the line in different places for what tools they'll use. Some people will use basically anything, some will use the standard lib, some will do it in C with zero dependencies, etc

#

personally I try to mostly only use things that I understand relatively precisely how they work. I got a binary heap implementation for day 17 because I didn't want to write one out from scratch, but I know how to do it.

#

i don't know how that formula works, and to judge from some of the discussion around it, it seems like most people have only the vaguest idea. some people will be okay with using that regardless, some will not.

#

Though honestly, I might sit down and learn it... it would probably be a lot less painful than dealing with all the edge cases in alternative ways of doing it

rancid creek
#

The point is you don't need picks or greens theorem here, You can use them. But they're not required. Using them just makes sense in the same way using timsort instead of writing your own sort makes sense. Sometimes knowing how to use a tool is all you need. For example the vast number of people that use something like excel, vs the small number of people that actually worked on it.

noble skiff
#

like I said, the difference is that I know how sort works - whether it's timsort or not is a red herring because it doesn't specifically need to be timsort

#

If the difference doesn't matter to you - that's cool. But there is a difference, and for me it matters πŸ™‚

spark dust
#

Looking for someone in here trying to make billions

#

On a business idea

#

Starting from nothing

hollow wharf
#

Lmao

spark dust
#

Capital B

civic dune
#

can someone give me a medium sized project that is for beginners? please?

spark dust
#

Billions

#

Money sign &

#

$

#

Billion$

hollow wharf
spark dust
#

You will have to scrape data

civic dune
#

::))))

hollow wharf
#

:')

spark dust
#

And move work with api

#

That is beginners

#

Extremely beginner

#

Simple request and parsing

still delta
#

If you're in the US the NOAA is where to look for all your weather needs. Believe it or not most all weather apps or websites get their raw info from NOAA for free and then repackage it.

minor cave
#

@spark dust@hollow wharf@civic dune this is better suited for #python-discussion it's off topic for this channel

spark dust
#

Shhh

hexed axle
#

Language Roulette: Day 19
The language is ... C#

earnest forge
#

You need glasses?

hexed axle
#

No no, I've got them, that's how I C#

earnest forge
#

GLHF everyone

shut trellisBOT
broken bloom
#

yay!

#

I'm not gonna know how to solve it anyway

#

I've been stuck since day 10

hexed axle
#

oh part 2 must be a doozy today

magic oxide
#

haven't even looked at day 18 yet

devout tusk
#

Today looks tedious to implement

earnest forge
#

239/14 let's go

hexed axle
#

I'm purely judging off of the leaderboard's very slow trickle in completion

earnest forge
hexed axle
#

I haven't even read today's question yet

earnest forge
#

Won't give hints until LB is full though

#

I keep forgetting to put 'return total' in my functions and I swear it's costing me several spots each day

pine tiger
#

REDEEMED

earnest forge
pine tiger
#

sheesh

#

starwort sweep!

earnest forge
#

no I got 239 for p1

#

Tbf writing better code for p1 is probably why I did so well at p2

covert arrow
#

oh shit i forgot

earnest forge
#

But I think I literally cost myself 2 spots on p2 by forgetting the return total first time for each part

pine tiger
#

😭 😭

earnest forge
#

FULL

feral hazel
#

40/70 :D

earnest forge
flat sequoia
#

idk why my p2 doesn't work tbh

#

maybe it's just because the code is so bad

#

I should rewrite it..

pine tiger
#

yk i hate when aoc relies on leaps of faith

#

source: just trust me bro

earnest forge
pine tiger
#

||i'm probably wrong somewhere, but why don't the xmas ranges ever intersect? i think you can construct a workflow such that they do||

earnest forge
#

Talk to me in spoilers

modern terrace
#

||i'm getting 177152000000000 for p2 test cases||

#

;-;

#

wait what

earnest forge
modern terrace
#

86/855