AoC 2023, 4. päev
Ülesanne
Siin: https://adventofcode.com/2023/day/4
Lahendus
Esimene pool
Ülesande esimeses pooles ei ole vaja teha muud, kui lugeda kokku, kui suur on iga kaardi võidunumbrite hulk ($c$) ning skoori saamiseks summeerida kokku $2^{c-1}$, arvestades erijuhtu, et $c=0$ korral on skoor $0$. Ehk siis tegelikult töötab ka $\lfloor 2^{c-1}\rfloor$ kokkusummeerimine ($2^{-1}$ on teadupärast $\frac{1}{2}$).
Teine pool
Teine pool on üks neist reetlikest ülesandepüstitustest, mis lausa kutsub oma andmestruktuuri kasvatama. Ei, sellesse lõksu ei ole vaja astuda.
On vaja pidada ainult arvestust selle üle, kui palju meil mingeid kaarte on (algul $1$) ning seejärel iga võidu korral kasvatada vastavate kaartide arvu niipalju, kui meil parasjagu menetletavat kaarti käes on. Kuna kaardipakki käiakse läbi ühes kindlas suunas ning suurendatakse ainult nende kaartide arvu, mis on sellessamas suunas, annabki see lähenemine õige vastuse.
Lahenduskäik: https://github.com/fazz/aoc/blob/master/aoc2023/day04.py