Advent of Code 2024

Fórumok

Idén is indul az Advent of Code "karácsonyváró játék". Hajrá! :) 

 

Indítottam egy HUP leaderboard-ot2567216-8c01cc3b

🎅

 

(a privát leaderboard-ok csak login után látszanak)

Hozzászólások

Csatlakoztam, egyelőre a tegnapit csináltam csak meg.

Lehet idén én is benevezek koca programozóként. Szerintem jópofa! Már több éve figyelem, de nem éreztem erőt, hogy nekiálljak.

Egyszer találtam youtube-on: https://www.youtube.com/@TsodingDaily Elvetemült arc, 2020-ban minden napot más nyelven csinált, 2021-ben meg az egészet TempleOS-ben, HolyC-ben.

Csak nekem nem jó a HUP leaderboard? Szerintem nem jó helyre mutat a link.

Annyira nem fura az, csak ha menet közben ki-belépkednek emberek, az szét tudja túrni kicsit a pontokat:

[Local Score], which awards users on this leaderboard points much like the global leaderboard. If you add or remove users, the points will be recalculated, and the order can change. For N users, the first user to get each star gets N points, the second gets N-1, and the last gets 1. This is the default.

quemu adventi calendar nincs ?

“Luck Is What Happens When Preparation Meets Opportunity" - Seneca

Csatlakoztam én is. Zig-ben tolom, ha valakit érdekel a megoldás, a github-omon megnézheti. ;-)

Az 5. feladatnál a ti megoldásotok mit mond erre az inputra?

 

1|3
3|5

1,2,3,4,5
5,4,3,2,1
5,0,0,3,0,5,0,1,0,0,3,0,0,0,3

5,0,0,3,0,5,0,1,0,0,3,0,0,0,3

A feladat leírásából következik, hogy egy sorban nem fordulhat elő két azonos szám. Így ez UB, a feladat különböző helyes megoldásai más eredményt adhatnak rá:

1,3,3,3,5,5,0,0,0,0,0,0,0,0,0
0,0,1,3,3,3,5,5,0,0,0,0,0,0,0
0,0,0,0,1,3,3,3,5,5,0,0,0,0,0
0,0,0,0,0,0,0,1,3,3,3,5,5,0,0

Én a lehető legkevesebb cserével oldottam meg a rendezést, vagyis amire nincs szabály, az marad a helyén:

1,0,0,3,0,3,0,3,0,0,5,0,0,0,5

Igen, az eredeti példám nem valid a kontextus miatt, itt egy olyan ami szerintem valid, viszont szerintem sok megoldás nem működik rá:

10|11
10|20
10|21
11|20
11|21
20|21
20|30
20|31
21|30
21|31
30|31
30|40
30|41
31|40
31|41
40|41
40|51
41|51

51,40,41,30,31,20,21,10,11
30,10,40,11,20,41,21,31,51
40,51,20,21,11,41,31,10,30

itt a 2. részben 90 a jó válasz

A feladatok túl könnyűek, és a több tízezer játékos közül csak az első 100 kap pontot. Ez így sajnos sokkal inkább azon múlik, hogy ki hány órakor tud felkelni...

Én nagyon messze vagyok még a 100. idejétől is, így leginkább nem azon múlik mikor kelek fel. ;-)

Ennyi idő alatt kb. még el sem olvasom.

Pl. Ezek voltak az idők:

1. nap

1. 4 mp, 9 mp

100. 1:24, 2:31

...

5. nap

1. 14 mp, 55 mp

100. 1:58, 3:43

Igen, szerintem is csak a móka része az érdekes és az új vagy kedvenc nyelv tanulása, használata.

Én pl. Javaban dolgozom és korábban Scala-t, most Zig-et, a jövőben pedig vagy Gleam vagy Roc nyelvet fogok használni. ;-)

Sok esetben nem is a probléma a legnagyobb hátráltató, hanem a nyelvi elemek ismeretének hiánya.

pont mostanában gondoltam rá újra kéne mert régen mennyire jó volt

egész éjszakákat tudtam ülni 1-1 fölött

Hm. A 8. nap leírása kétértelmű (avagy rossz):

 

In particular, an antinode occurs at any point that is perfectly in line with two antennas of the same frequency - but only when one of the antennas is twice as far away as the other.

 

Ez alapján ez is valid lenne:

A.#...A

de a példák alapján nem az. Hasonlóan a 2. részben ilyenkor az egész sor jó lenne a leírás szerint, de mégsem. Hóhum :)

Csak én egyszerűsítettem le a második rész megoldását? Az első részhez volt két sorom, ahol hozzáadom a deltát egyik és másik irányban az antenna-párhoz. A második részben csak e köré tettem egy ciklust, hogy a delta 0..50-szeresét adjuk hozzá. Így volt a legegyszerűbb, csak nem a legszebb.

A mai nap az első, amikor elkezdett számítani a jó algoritmus. A második rész első nekifutásra elfutott vagy egy percig. Azóta gyorsítottam rajta a rend kedvéért. De úgy tűnik, egyre nehezebb lesz.

A 11. második felét 297GB memória használatnál lelőttem, a szó szerinti implementáció még c++-ban sem fut le :)

4 implementációt csináltam

az 3dikra már agyon optimalizáltam mindent, level45ig jutott el, level50nél már kihalt homokórával

a 4diknél vezettem be a titkot és fut le 100 ms alatt (java desktop)

level100 136ms

ez fölött már túlcsordulnak a long-jaim

level999 1632ms, csak már rossz végeredményt ad de elvileg bejárja amit be kell