3 ms·
The global leaderboard is so fast that any AI assistance would literally slow them down, here's one of the guys who tends to score highly solving today's puzzle
by Barrin92 2y ago
The global leaderboard is so fast that any AI assistance would literally slow them down, here's one of the guys who tends to score highly solving today's puzzle. (https://youtu.be/ym1ae-vBy6g https://youtu.be/ym1ae-vBy6g), and on the more complicated days that's even more pronounced because anyone who is even somewhat decent doesn't need to ask chatgpt how to write Dijkstra.
Obviously if you're doing it recreationally you can cheat with AI but then again that's no different than copying a solution from reddit and you're only fooling yourself. I don't see it having an impact.
- Kiro 2y agoThe "winner" solved it in 9 seconds using AI so I don't understand how you can claim that. https://adventofcode.com/2024/leaderboard/day/1 https://adventofcode.com/2024/leaderboard/day/1
- MattRix 2y agoThe thing is that the AI can read a puzzle faster than a human can. If someone put any effort towards an AI-based setup, it would easily beat human competitiors (well, up until the point the puzzles got too difficult for it to solve).
- petercooper 2y agoI've always done AoC "properly" but this year I've decided to actually use it as a learning experience for working with LLMs (and I don't get up early so will never sully the leaderboard) and trying some experiments along the way. I think the strategy for the harder puzzles is to still "do" them yourself (i.e. read the challenge and understand it) but write the solution in English pseudocode and then have an LLM take it from there. Doing this has yielded perfect results (but less than perfect implementations) in several languages for me so far and I've learnt a few interesting things about how they perform and the "tells" that an LLM was involved.
- anonu 2y agoPython looks excruciatingly slow to me. If you want fast I believe you need to think and write in vector languages like kdb+/q. I am not a kdb+ expert by any means and my code can probably use more q primitives, but here was my solution in ~2 minutes: i1:("I I";" ")0: `:1.txt; sum {abs last deltas x }each flip asc each i1 / answer 1 sum {x * sum x = i1[1]}each i1[0] / answer 2
- eddsolves 2y agoThat’s cool, but horribly ugly! What does production kdb+ look like? Is it similarly terse, maybe Perl-ish, or was this purely for speed? What does each flip asc do?
- anonu 2y agoi1 is Nx2. asc each i1 sorts each N in ascending order. flip transposes to 2xN.
- vjerancrnjak 2y agoEverything autocompletes in Python. from collections import * xys = list(map(int, open(0).read().split())) xs = xys[::2] ys = xys[1::2] xs.sort() ys.sort() print(sum(abs(x-y) for x,y in zip(xs,ys))) yc = Counter(ys) print(sum(((yc[x])*x for x in xs)))
- acters 2y agothis is the least amount of loc I can think of rn data = { i+1 : sorted([ x for x in list(map(int, open('input').read().split()))[i::2]]) for i in range(2) } total_distance = sum(list(map(lambda x: abs(x[0]-x[1]), zip(data[1], data[2])))) print("part 1:", total_distance) similarity_score = sum(list(map(lambda x: (x*data[2].count(x))*data[1].count(x), set(data[1]).intersection(data[2])))) print("part 2:", similarity_score)