[Rust/2023/09] Add solution

This commit is contained in:
Felix Bargfeldt 2023-12-09 09:32:37 +01:00
parent 030b315d5b
commit 2cd0d24adc
Signed by: Defelo
GPG key ID: 2A05272471204DD3
6 changed files with 60 additions and 2 deletions

View file

@ -9,11 +9,11 @@
|[2021](https://adventofcode.com/2021/leaderboard)|**136**|438|
|[2020](https://adventofcode.com/2020/leaderboard)|**621**|46|
## [2023](https://adventofcode.com/2023) ([<img height=18 src=".assets/rs.svg"> Rust](Rust/2023): 8/25 | [<img height=18 src=".assets/ua.png"> Uiua](Uiua/2023): 8/25 | [<img height=18 src=".assets/hs.svg"> Haskell](Haskell/2023): 3/25)
## [2023](https://adventofcode.com/2023) ([<img height=18 src=".assets/rs.svg"> Rust](Rust/2023): 9/25 | [<img height=18 src=".assets/ua.png"> Uiua](Uiua/2023): 8/25 | [<img height=18 src=".assets/hs.svg"> Haskell](Haskell/2023): 3/25)
|Mo|Tu|We|Th|Fr|Sa|Su|
|-|-|-|-|-|-|-|
|||||[**1**](https://adventofcode.com/2023/day/1) [<img height=12 src=".assets/rs.svg">](Rust/2023/01.rs "Rust solution for 2023/01") [<img height=12 src=".assets/ua.png">](https://uiua.org/pad?src=JmZ3YSAiLi4vbGliLnVhIiAiTG9hZCDihpAgJnNjIgomaSAiLi4vbGliLnVhIiAiTG9hZCIKCk51bXMg4oaQIHsib25lIiAidHdvIiAidGhyZWUiICJmb3VyIiAiZml2ZSIKICAgICAgICAic2l4IiAic2V2ZW4iICJlaWdodCIgIm5pbmUifQpEaWdpdHMg4oaQICtAMeKHoTkKRmluZCDihpAgLysgw5crMeKHoTkg4omh4oqQ4oyVCkV4dHJhY3Qg4oaQICvDlzEwIOKIqeKKouKKg-KImOKHjCDilr3iiaAwLgoKwrDiip8vKyDiipwo4oqfIOKIqUV4dHJhY3Qg4oqD4oal4oiYIOKIqUZpbmQgRGlnaXRzLE51bXPCpCniiaBAXG4uCg== "Uiua solution for 2023/01")|[**2**](https://adventofcode.com/2023/day/2) [<img height=12 src=".assets/rs.svg">](Rust/2023/02.rs "Rust solution for 2023/02") [<img height=12 src=".assets/hs.svg">](Haskell/2023/02.hs "Haskell solution for 2023/02") [<img height=12 src=".assets/ua.png">](https://uiua.org/pad?src=JmZ3YSAiLi4vbGliLnVhIiAiTG9hZCDihpAgJnNjIgomaSAiLi4vbGliLnVhIiAiTG9hZCIKCkNvbG9ycyDihpAgeyJyZWQiICJncmVlbiIgImJsdWUifQpQYXJzZUNvdW50IOKGkCDiipfiiplDb2xvcnMg4oqZ4oqQ4ouVIMKw4oqf4oeMIOKKnOKWoeKJoEAgLgpQYXJzZVJvdW5kIOKGkCAvK-KKnCjDl-KsmjDihq_CpDPCsOKKmlBhcnNlQ291bnQp4omgQCwuClBhcnNlR2FtZSDihpAg4oqcUGFyc2VSb3VuZOKJoEA7LiDihpgrMuKKl0A6LgoK4oqcKC_ihqVQYXJzZUdhbWUp4omgQFxuLgriiKkvKyDiioMvw5cow5crMeKHoeKnuy4vw5fiiaQxMl8xM18xNCnijYkK "Uiua solution for 2023/02")|[**3**](https://adventofcode.com/2023/day/3) [<img height=12 src=".assets/rs.svg">](Rust/2023/03.rs "Rust solution for 2023/03") [<img height=12 src=".assets/ua.png">](https://uiua.org/pad?src=JmZ3YSAiLi4vbGliLnVhIiAiTG9hZCDihpAgJnNjIgomaSAiLi4vbGliLnVhIiAiTG9hZCIKCk51bXMg4oaQICgKICDiiIo6K0Aw4oehMTAKICDDl8Ks4qyaMOKGuzBfwq8xLi4KICDDl-KNnOKZrVwrCikKU3ltYm9scyDihpAgw5fiioMo4omgQC4pKD0wTnVtcykKR2VhcnMg4oaQID1AKgpOZWlnaGJvcnMg4oaQIOKJoSjDl-KsmjDihrsp4piHMS0x4oehM18z4oipwqQKQSDihpAgKAogIE5laWdoYm9ycyDiioNTeW1ib2xzIE51bXMKICDiio_iip3ima0v4oalCikKQiDihpAgKAogIE5laWdoYm9ycyDiioNOdW1zIEdlYXJzCiAg4piHMeKNiQogIOKsmjDiiaEo4pa9PTLip7su4pa94omgMC7iip0pCiAg4omhL8OX4omh4oqP4oqZwqQKKQoK4oqDKOKKnOKImOKJoEBcbi4pKOKKgjDiiaHii5Xima0gcmVnZXggIlxcZCsiKQriiKkvKyDiioNCIEEK "Uiua solution for 2023/03")|
|[**4**](https://adventofcode.com/2023/day/4) [<img height=12 src=".assets/rs.svg">](Rust/2023/04.rs "Rust solution for 2023/04") [<img height=12 src=".assets/ua.png">](https://uiua.org/pad?src=JmZ3YSAiLi4vbGliLnVhIiAiTG9hZCDihpAgJnNjIgomaSAiLi4vbGliLnVhIiAiTG9hZCIKClBhcnNlQ2FyZCDihpAg4oipwrDilqHCsOKKnyDiipwo4pah4oqc4ouV4omgQCAuKeKJoEB8LiDihpgrMuKKl0A6LgpNYXRjaGVzIOKGkCDip7vilr3iiIosClBvaW50cyDihpAg4oyK4oG_4oqZMi0xCldpbk1hdHJpeCDihpAg4qyaMOKJoSjiioIx4oqC4oip4oav4oqZKDDiipkxKSkg4oeh4qe7LuKKgjAKQSDihpAgLyviiaFQb2ludHMKQiDihpAg4oqiOyDijaXiioPiiJgoLyvDlynip7suIOKKg-KImCjCrOKKoikgV2luTWF0cml4CgriioNCIEEg4oqcKE1hdGNoZXMgUGFyc2VDYXJkKeKJoEBcbi4K "Uiua solution for 2023/04")|[**5**](https://adventofcode.com/2023/day/5) [<img height=12 src=".assets/rs.svg">](Rust/2023/05.rs "Rust solution for 2023/05") [<img height=12 src=".assets/ua.png">](https://uiua.org/pad?src=JmZ3YSAiLi4vbGliLnVhIiAiTG9hZCDihpAgJnNjIgomaSAiLi4vbGliLnVhIiAiTG9hZCIKClBhcnNlU2VlZHMg4oaQIOKJoeKLleKGmDHiipzilqHiiaBAIC7CsOKWoeKKogpQYXJzZVJhbmdlTWFwIOKGkCDijZzCsFviipniipniiJhd4oqDKC06fOKLheKImHzii4UrKeKKnOKLleKJoEAgLgpQYXJzZU1hcHMg4oaQIOKJoSjilqHiiaHiipBQYXJzZVJhbmdlTWFw4oaYMeKKnOKWoeKJoEBcbi7CsOKWoSkg4oaYMQpDb250YWlucyDihpAg4omNMV8w4omkCkZpbmRSYW5nZU1hcCDihpAg4oqi4oqa4oqC4oqZMSDiiaFDb250YWlucyDiipnijZzijYko4oaYMSkKTWFwTnVtIOKGkCAr4oqh4oqDRmluZFJhbmdlTWFwKOKKguKKmTDiiqLijYk6KQpTZWVkUmFuZ2VzIOKGkCDijZwowrDiip_ijYkp4oqD4oiYKyDihq_CrzFfMgpJbnRlcnNlY3Qg4oaQIOKKn-KKky_ihqUv4oan4o2c4oqf4o2JCklzRW1wdHkg4oaQIC_iiaQKU3BsaXRBdCDihpAg4oqDKOKGp-KKguKIniko4oal4oqCOsKv4oieKQpNYXBTZWVkUmFuZ2Ug4oaQICgKICDCpCviipko4oqZ4oqfIDriiplJbnRlcnNlY3Qg4oipU3BsaXRBdCDiipksKSDCsFviipniipniiJhdOgogIOKIqSjilr3CrOKJoUlzRW1wdHkuKQopCkZsYXRNYXBTZWVkUmFuZ2VzIOKGkCA74oinKOKKg-KLheKImCjiiKniioLiipk6Ok1hcFNlZWRSYW5nZSkpIOKKmeKKmSgu4oavMF8yW10pCk1hcFNlZWRSYW5nZXMg4oaQIOKKguKIpyjiipniioJGbGF0TWFwU2VlZFJhbmdlczopIDriipniipko4oavMF8yW10pCkEg4oaQIC_ihqfiiaEo4oinKE1hcE51bTrCsOKWoSk6KSDiipnCpApCIOKGkCAv4oan4oqi4o2JIOKIpyhNYXBTZWVkUmFuZ2VzOsKw4pahKSA6U2VlZFJhbmdlcwoK4oqDQiBBIOKKg1BhcnNlU2VlZHMgUGFyc2VNYXBzIOKKnOKWocKs4oyVIlxuXG4iLgo= "Uiua solution for 2023/05")|[**6**](https://adventofcode.com/2023/day/6) [<img height=12 src=".assets/rs.svg">](Rust/2023/06.rs "Rust solution for 2023/06") [<img height=12 src=".assets/hs.svg">](Haskell/2023/06.hs "Haskell solution for 2023/06") [<img height=12 src=".assets/ua.png">](https://uiua.org/pad?src=JmZ3YSAiLi4vbGliLnVhIiAiTG9hZCDihpAgJnNjIgomaSAiLi4vbGliLnVhIiAiTG9hZCIKClNvbHZlIOKGkCAoCiAgwrDiip_ih4wKICAt4oqTKMOXNHzigb8yLikKICDiioPiiJgo4oyK4oiaKQogID3igb8yLAogICviioMtKOKXvzIrKysxKQopCgriipwo4oqc4ouV4omgQCAu4oaYKzHiipdAOi4p4omgQFxuLgriioMoU29sdmUg4omhLyjii5XiioLiiKnCsOKLlSkpICgvw5fiiaFTb2x2ZeKNiSkK "Uiua solution for 2023/06")|[**7**](https://adventofcode.com/2023/day/7) [<img height=12 src=".assets/rs.svg">](Rust/2023/07.rs "Rust solution for 2023/07") [<img height=12 src=".assets/hs.svg">](Haskell/2023/07.hs "Haskell solution for 2023/07") [<img height=12 src=".assets/ua.png">](https://uiua.org/pad?src=JmZ3YSAiLi4vbGliLnVhIiAiTG9hZCDihpAgJnNjIgomaSAiLi4vbGliLnVhIiAiTG9hZCIKClBhcnNlQ2FyZCDihpAgKzLiipfiipkiMjM0NTY3ODlUSlFLQSIKUGFyc2VIYW5kIOKGkCDiioLiipMoUGFyc2VDYXJkwrDilqF84ouVKcKw4oqfIOKKnOKWoeKJoEAgLgpDb3VudENhcmRzIOKGkCDCpOKsmjDihq9bNF0g4oaYMSDiio_ijZYuIOKKleKnu-KKmy4g4pa94omgMC4KSGFuZFR5cGUg4oaQIC3iipk24oqi4oqaIOKJoeKJjVsKICAwXzBfMF8wIDFfMF8wXzAKICAyXzBfMF8wIDFfMV8wXzAKICAyXzFfMF8wIDFfMV8xXzAKICAxXzFfMV8xXSBDb3VudENhcmRzClNvcnQg4oaQIOKKj-KNjyDiiaEo4oqCSGFuZFR5cGUu4oaYwq8xKSAuClJlcGxhY2VKb2tlcnMg4oaQIOKNnCjihpjCrzEpKMOX4omgMTEuKQoK4oqcUGFyc2VIYW5k4omgQFxuLgriiaFSZXBsYWNlSm9rZXJzLgriiKkoLyvDlyArMeKHoeKnuy4g4oqi4oeM4o2JIFNvcnQpCg== "Uiua solution for 2023/07")|[**8**](https://adventofcode.com/2023/day/8) [<img height=12 src=".assets/rs.svg">](Rust/2023/08.rs "Rust solution for 2023/08") [<img height=12 src=".assets/ua.png">](https://uiua.org/pad?src=JmZ3YSAiLi4vbGliLnVhIiAiTG9hZCDihpAgJnNjIgomaSAiLi4vbGliLnVhIiAiTG9hZCIKClBhcnNlSW5zdHJ1Y3Rpb25zIOKGkCA9QFLCsOKWoeKKogpQYXJzZU5vZGUg4oaQIOKGmDHiiqJyZWdleCIoW14gLF0rKSA9IFxcKChbXiAsXSspLCAoW14gLF0rKVxcKSIKUGFyc2VOZXR3b3JrIOKGkCDiiaFQYXJzZU5vZGUg4oaYMQpSZXBsYWNlTmFtZXMg4oaQIOKNnOKNiSjiipfiioMo4oaYMSniiqIpCkZpbmRTdGFydEFuZEdvYWwg4oaQIOKIqSjiipfilqEpICJBQUEiLCJaWloi4oqi4o2JClN0YXJ0QW5kR29hbE1hc2sg4oaQIOKIqT1AQSxAWuKJoSjiiqLih4wp4oqi4o2JClN0ZXAg4oaQIOKKgyjiio_iioMo4oqP4pe_4qe7LOKLheKKmeKLheKLheKImHziio_iipnii4Xii4XiiJgpfCsx4ouF4oiYfOKLheKLheKKmeKKmeKImCkKUnVuISDihpAg4ouF4oqZ4ouF4ouFOyDijaJTdGVwKMKsXjMpIOKKmTAKTENNIOKGkCDDtzviioPijaLiioPil7_iiJjCscOXCkEg4oaQIFJ1biEoPeKKmeKLheKImCkgRmluZFN0YXJ0QW5kR29hbApCIOKGkCAvTENNIOKJoShSdW4hKOKKj-KKmeKLheKImCkpIOKKkyjiipp8wqR8wqR8wqQpIFN0YXJ0QW5kR29hbE1hc2sKCuKKnOKWoeKJoEBcbi4K4oqDUGFyc2VOZXR3b3JrIFBhcnNlSW5zdHJ1Y3Rpb25zCuKKg0IgQSDiioPiiJhSZXBsYWNlTmFtZXMK "Uiua solution for 2023/08")|[**9**](https://adventofcode.com/2023/day/9)|[**10**](https://adventofcode.com/2023/day/10)|
|[**4**](https://adventofcode.com/2023/day/4) [<img height=12 src=".assets/rs.svg">](Rust/2023/04.rs "Rust solution for 2023/04") [<img height=12 src=".assets/ua.png">](https://uiua.org/pad?src=JmZ3YSAiLi4vbGliLnVhIiAiTG9hZCDihpAgJnNjIgomaSAiLi4vbGliLnVhIiAiTG9hZCIKClBhcnNlQ2FyZCDihpAg4oipwrDilqHCsOKKnyDiipwo4pah4oqc4ouV4omgQCAuKeKJoEB8LiDihpgrMuKKl0A6LgpNYXRjaGVzIOKGkCDip7vilr3iiIosClBvaW50cyDihpAg4oyK4oG_4oqZMi0xCldpbk1hdHJpeCDihpAg4qyaMOKJoSjiioIx4oqC4oip4oav4oqZKDDiipkxKSkg4oeh4qe7LuKKgjAKQSDihpAgLyviiaFQb2ludHMKQiDihpAg4oqiOyDijaXiioPiiJgoLyvDlynip7suIOKKg-KImCjCrOKKoikgV2luTWF0cml4CgriioNCIEEg4oqcKE1hdGNoZXMgUGFyc2VDYXJkKeKJoEBcbi4K "Uiua solution for 2023/04")|[**5**](https://adventofcode.com/2023/day/5) [<img height=12 src=".assets/rs.svg">](Rust/2023/05.rs "Rust solution for 2023/05") [<img height=12 src=".assets/ua.png">](https://uiua.org/pad?src=JmZ3YSAiLi4vbGliLnVhIiAiTG9hZCDihpAgJnNjIgomaSAiLi4vbGliLnVhIiAiTG9hZCIKClBhcnNlU2VlZHMg4oaQIOKJoeKLleKGmDHiipzilqHiiaBAIC7CsOKWoeKKogpQYXJzZVJhbmdlTWFwIOKGkCDijZzCsFviipniipniiJhd4oqDKC06fOKLheKImHzii4UrKeKKnOKLleKJoEAgLgpQYXJzZU1hcHMg4oaQIOKJoSjilqHiiaHiipBQYXJzZVJhbmdlTWFw4oaYMeKKnOKWoeKJoEBcbi7CsOKWoSkg4oaYMQpDb250YWlucyDihpAg4omNMV8w4omkCkZpbmRSYW5nZU1hcCDihpAg4oqi4oqa4oqC4oqZMSDiiaFDb250YWlucyDiipnijZzijYko4oaYMSkKTWFwTnVtIOKGkCAr4oqh4oqDRmluZFJhbmdlTWFwKOKKguKKmTDiiqLijYk6KQpTZWVkUmFuZ2VzIOKGkCDijZwowrDiip_ijYkp4oqD4oiYKyDihq_CrzFfMgpJbnRlcnNlY3Qg4oaQIOKKn-KKky_ihqUv4oan4o2c4oqf4o2JCklzRW1wdHkg4oaQIC_iiaQKU3BsaXRBdCDihpAg4oqDKOKGp-KKguKIniko4oal4oqCOsKv4oieKQpNYXBTZWVkUmFuZ2Ug4oaQICgKICDCpCviipko4oqZ4oqfIDriiplJbnRlcnNlY3Qg4oipU3BsaXRBdCDiipksKSDCsFviipniipniiJhdOgogIOKIqSjilr3CrOKJoUlzRW1wdHkuKQopCkZsYXRNYXBTZWVkUmFuZ2VzIOKGkCA74oinKOKKg-KLheKImCjiiKniioLiipk6Ok1hcFNlZWRSYW5nZSkpIOKKmeKKmSgu4oavMF8yW10pCk1hcFNlZWRSYW5nZXMg4oaQIOKKguKIpyjiipniioJGbGF0TWFwU2VlZFJhbmdlczopIDriipniipko4oavMF8yW10pCkEg4oaQIC_ihqfiiaEo4oinKE1hcE51bTrCsOKWoSk6KSDiipnCpApCIOKGkCAv4oan4oqi4o2JIOKIpyhNYXBTZWVkUmFuZ2VzOsKw4pahKSA6U2VlZFJhbmdlcwoK4oqDQiBBIOKKg1BhcnNlU2VlZHMgUGFyc2VNYXBzIOKKnOKWocKs4oyVIlxuXG4iLgo= "Uiua solution for 2023/05")|[**6**](https://adventofcode.com/2023/day/6) [<img height=12 src=".assets/rs.svg">](Rust/2023/06.rs "Rust solution for 2023/06") [<img height=12 src=".assets/hs.svg">](Haskell/2023/06.hs "Haskell solution for 2023/06") [<img height=12 src=".assets/ua.png">](https://uiua.org/pad?src=JmZ3YSAiLi4vbGliLnVhIiAiTG9hZCDihpAgJnNjIgomaSAiLi4vbGliLnVhIiAiTG9hZCIKClNvbHZlIOKGkCAoCiAgwrDiip_ih4wKICAt4oqTKMOXNHzigb8yLikKICDiioPiiJgo4oyK4oiaKQogID3igb8yLAogICviioMtKOKXvzIrKysxKQopCgriipwo4oqc4ouV4omgQCAu4oaYKzHiipdAOi4p4omgQFxuLgriioMoU29sdmUg4omhLyjii5XiioLiiKnCsOKLlSkpICgvw5fiiaFTb2x2ZeKNiSkK "Uiua solution for 2023/06")|[**7**](https://adventofcode.com/2023/day/7) [<img height=12 src=".assets/rs.svg">](Rust/2023/07.rs "Rust solution for 2023/07") [<img height=12 src=".assets/hs.svg">](Haskell/2023/07.hs "Haskell solution for 2023/07") [<img height=12 src=".assets/ua.png">](https://uiua.org/pad?src=JmZ3YSAiLi4vbGliLnVhIiAiTG9hZCDihpAgJnNjIgomaSAiLi4vbGliLnVhIiAiTG9hZCIKClBhcnNlQ2FyZCDihpAgKzLiipfiipkiMjM0NTY3ODlUSlFLQSIKUGFyc2VIYW5kIOKGkCDiioLiipMoUGFyc2VDYXJkwrDilqF84ouVKcKw4oqfIOKKnOKWoeKJoEAgLgpDb3VudENhcmRzIOKGkCDCpOKsmjDihq9bNF0g4oaYMSDiio_ijZYuIOKKleKnu-KKmy4g4pa94omgMC4KSGFuZFR5cGUg4oaQIC3iipk24oqi4oqaIOKJoeKJjVsKICAwXzBfMF8wIDFfMF8wXzAKICAyXzBfMF8wIDFfMV8wXzAKICAyXzFfMF8wIDFfMV8xXzAKICAxXzFfMV8xXSBDb3VudENhcmRzClNvcnQg4oaQIOKKj-KNjyDiiaEo4oqCSGFuZFR5cGUu4oaYwq8xKSAuClJlcGxhY2VKb2tlcnMg4oaQIOKNnCjihpjCrzEpKMOX4omgMTEuKQoK4oqcUGFyc2VIYW5k4omgQFxuLgriiaFSZXBsYWNlSm9rZXJzLgriiKkoLyvDlyArMeKHoeKnuy4g4oqi4oeM4o2JIFNvcnQpCg== "Uiua solution for 2023/07")|[**8**](https://adventofcode.com/2023/day/8) [<img height=12 src=".assets/rs.svg">](Rust/2023/08.rs "Rust solution for 2023/08") [<img height=12 src=".assets/ua.png">](https://uiua.org/pad?src=JmZ3YSAiLi4vbGliLnVhIiAiTG9hZCDihpAgJnNjIgomaSAiLi4vbGliLnVhIiAiTG9hZCIKClBhcnNlSW5zdHJ1Y3Rpb25zIOKGkCA9QFLCsOKWoeKKogpQYXJzZU5vZGUg4oaQIOKGmDHiiqJyZWdleCIoW14gLF0rKSA9IFxcKChbXiAsXSspLCAoW14gLF0rKVxcKSIKUGFyc2VOZXR3b3JrIOKGkCDiiaFQYXJzZU5vZGUg4oaYMQpSZXBsYWNlTmFtZXMg4oaQIOKNnOKNiSjiipfiioMo4oaYMSniiqIpCkZpbmRTdGFydEFuZEdvYWwg4oaQIOKIqSjiipfilqEpICJBQUEiLCJaWloi4oqi4o2JClN0YXJ0QW5kR29hbE1hc2sg4oaQIOKIqT1AQSxAWuKJoSjiiqLih4wp4oqi4o2JClN0ZXAg4oaQIOKKgyjiio_iioMo4oqP4pe_4qe7LOKLheKKmeKLheKLheKImHziio_iipnii4Xii4XiiJgpfCsx4ouF4oiYfOKLheKLheKKmeKKmeKImCkKUnVuISDihpAg4ouF4oqZ4ouF4ouFOyDijaJTdGVwKMKsXjMpIOKKmTAKTENNIOKGkCDDtzviioPijaLiioPil7_iiJjCscOXCkEg4oaQIFJ1biEoPeKKmeKLheKImCkgRmluZFN0YXJ0QW5kR29hbApCIOKGkCAvTENNIOKJoShSdW4hKOKKj-KKmeKLheKImCkpIOKKkyjiipp8wqR8wqR8wqQpIFN0YXJ0QW5kR29hbE1hc2sKCuKKnOKWoeKJoEBcbi4K4oqDUGFyc2VOZXR3b3JrIFBhcnNlSW5zdHJ1Y3Rpb25zCuKKg0IgQSDiioPiiJhSZXBsYWNlTmFtZXMK "Uiua solution for 2023/08")|[**9**](https://adventofcode.com/2023/day/9) [<img height=12 src=".assets/rs.svg">](Rust/2023/09.rs "Rust solution for 2023/09")|[**10**](https://adventofcode.com/2023/day/10)|
|[**11**](https://adventofcode.com/2023/day/11)|[**12**](https://adventofcode.com/2023/day/12)|[**13**](https://adventofcode.com/2023/day/13)|[**14**](https://adventofcode.com/2023/day/14)|[**15**](https://adventofcode.com/2023/day/15)|[**16**](https://adventofcode.com/2023/day/16)|[**17**](https://adventofcode.com/2023/day/17)|
|[**18**](https://adventofcode.com/2023/day/18)|[**19**](https://adventofcode.com/2023/day/19)|[**20**](https://adventofcode.com/2023/day/20)|[**21**](https://adventofcode.com/2023/day/21)|[**22**](https://adventofcode.com/2023/day/22)|[**23**](https://adventofcode.com/2023/day/23)|[**24**](https://adventofcode.com/2023/day/24)|
|[**25**](https://adventofcode.com/2023/day/25)|26|27|28|29|30|31|

50
Rust/2023/09.rs Normal file
View file

@ -0,0 +1,50 @@
#![feature(test)]
type Input = Vec<Vec<i32>>;
fn setup(input: &str) -> Input {
input
.lines()
.map(|line| {
line.split_whitespace()
.map(|x| x.parse().unwrap())
.collect()
})
.collect()
}
fn solve(mut nums: Vec<i32>) -> i32 {
for j in 1.. {
let mut all_zero = true;
let mut prev = nums[j - 1];
for i in nums.iter_mut().skip(j) {
*i = prev - *i;
prev -= *i;
all_zero &= *i == 0;
}
if all_zero {
break;
}
}
nums.into_iter().sum()
}
fn part1(input: &Input) -> i32 {
input
.clone()
.into_iter()
.map(|mut nums| {
nums.reverse();
solve(nums)
})
.sum()
}
fn part2(input: &Input) -> i32 {
input.clone().into_iter().map(solve).sum()
}
aoc::main!(2023, 9, ex: 1);

View file

@ -246,3 +246,6 @@ path = "2023/07.rs"
[[bin]]
name = "2023_08"
path = "2023/08.rs"
[[bin]]
name = "2023_09"
path = "2023/09.rs"

3
examples/2023/9/1 Normal file
View file

@ -0,0 +1,3 @@
0 3 6 9 12 15
1 3 6 10 15 21
10 13 16 21 30 45

1
examples/2023/9/1.1 Normal file
View file

@ -0,0 +1 @@
114

1
examples/2023/9/1.2 Normal file
View file

@ -0,0 +1 @@
2