AoC 2022, 25. päev
Ülesanne
Siin: https://adventofcode.com/2022/day/25
Väga kaunis
Tõeliselt ilus väike ülesanne.
Dekodeerimine on lihtne, tuleb lihtsalt positsioonid vastava järguga ($5^x$) läbi korrutada ja kokku liita, ehk siis nagu ükskõik millise arvusüsteemi teisendamisel kümnendsüsteemi.
Summa tagasikodeerimine on mõnevõrra krõpsakam probleem, aga mitte keeruline. Iga positsioon, kuhu tuleb suurem väärtus kui 2, tuleb asendada sobiva negatiivse väärtusega ($y-5$) ning temast järgmist suuremat järku ühe võrra suurendada. Seejuures tuleb silmas pidada, et ka suurem järk võib selle tulemusena osutuda suuremaks kui 2, seega tuleb väärtuste asendamist ja ülekandeid kõrgematesse järkudesse teha nii kaua kui vaja.
Lahendus
Lahendus: https://github.com/fazz/aoc/blob/master/aoc2022/day25.py