aoc-2021-rust

Advent of Code 2021 Solutions in Rust
git clone https://git.sinitax.com/sinitax/aoc-2021-rust
Log | Files | Refs | README | sfeed.txt

part2 (7412B)


      1--- Part Two ---
      2
      3Now that you know how to find low-risk paths in the cave, you can try to find your way out.
      4
      5The entire cave is actually five times larger in both dimensions than you thought; the area you
      6originally scanned is just one tile in a 5x5 tile area that forms the full map. Your original map
      7tile repeats to the right and downward; each time the tile repeats to the right or downward, all of
      8its risk levels are 1 higher than the tile immediately up or left of it. However, risk levels above
      99 wrap back around to 1. So, if your original map had some position with a risk level of 8, then
     10that same position on each of the 25 total tiles would be as follows:
     11
     128 9 1 2 3
     139 1 2 3 4
     141 2 3 4 5
     152 3 4 5 6
     163 4 5 6 7
     17
     18Each single digit above corresponds to the example position with a value of 8 on the top-left tile.
     19Because the full map is actually five times larger in both dimensions, that position appears a total
     20of 25 times, once in each duplicated tile, with the values shown above.
     21
     22Here is the full five-times-as-large version of the first example above, with the original map in
     23the top left corner highlighted:
     24
     2511637517422274862853338597396444961841755517295286
     2613813736722492484783351359589446246169155735727126
     2721365113283247622439435873354154698446526571955763
     2836949315694715142671582625378269373648937148475914
     2974634171118574528222968563933317967414442817852555
     3013191281372421239248353234135946434524615754563572
     3113599124212461123532357223464346833457545794456865
     3231254216394236532741534764385264587549637569865174
     3312931385212314249632342535174345364628545647573965
     3423119445813422155692453326671356443778246755488935
     3522748628533385973964449618417555172952866628316397
     3624924847833513595894462461691557357271266846838237
     3732476224394358733541546984465265719557637682166874
     3847151426715826253782693736489371484759148259586125
     3985745282229685639333179674144428178525553928963666
     4024212392483532341359464345246157545635726865674683
     4124611235323572234643468334575457944568656815567976
     4242365327415347643852645875496375698651748671976285
     4323142496323425351743453646285456475739656758684176
     4434221556924533266713564437782467554889357866599146
     4533859739644496184175551729528666283163977739427418
     4635135958944624616915573572712668468382377957949348
     4743587335415469844652657195576376821668748793277985
     4858262537826937364893714847591482595861259361697236
     4996856393331796741444281785255539289636664139174777
     5035323413594643452461575456357268656746837976785794
     5135722346434683345754579445686568155679767926678187
     5253476438526458754963756986517486719762859782187396
     5334253517434536462854564757396567586841767869795287
     5445332667135644377824675548893578665991468977611257
     5544961841755517295286662831639777394274188841538529
     5646246169155735727126684683823779579493488168151459
     5754698446526571955763768216687487932779859814388196
     5869373648937148475914825958612593616972361472718347
     5917967414442817852555392896366641391747775241285888
     6046434524615754563572686567468379767857948187896815
     6146833457545794456865681556797679266781878137789298
     6264587549637569865174867197628597821873961893298417
     6345364628545647573965675868417678697952878971816398
     6456443778246755488935786659914689776112579188722368
     6555172952866628316397773942741888415385299952649631
     6657357271266846838237795794934881681514599279262561
     6765719557637682166874879327798598143881961925499217
     6871484759148259586125936169723614727183472583829458
     6928178525553928963666413917477752412858886352396999
     7057545635726865674683797678579481878968159298917926
     7157944568656815567976792667818781377892989248891319
     7275698651748671976285978218739618932984172914319528
     7356475739656758684176786979528789718163989182927419
     7467554889357866599146897761125791887223681299833479
     75
     76Equipped with the full map, you can now find a path from the top left corner to the bottom right
     77corner with the lowest total risk:
     78
     7911637517422274862853338597396444961841755517295286
     8013813736722492484783351359589446246169155735727126
     8121365113283247622439435873354154698446526571955763
     8236949315694715142671582625378269373648937148475914
     8374634171118574528222968563933317967414442817852555
     8413191281372421239248353234135946434524615754563572
     8513599124212461123532357223464346833457545794456865
     8631254216394236532741534764385264587549637569865174
     8712931385212314249632342535174345364628545647573965
     8823119445813422155692453326671356443778246755488935
     8922748628533385973964449618417555172952866628316397
     9024924847833513595894462461691557357271266846838237
     9132476224394358733541546984465265719557637682166874
     9247151426715826253782693736489371484759148259586125
     9385745282229685639333179674144428178525553928963666
     9424212392483532341359464345246157545635726865674683
     9524611235323572234643468334575457944568656815567976
     9642365327415347643852645875496375698651748671976285
     9723142496323425351743453646285456475739656758684176
     9834221556924533266713564437782467554889357866599146
     9933859739644496184175551729528666283163977739427418
    10035135958944624616915573572712668468382377957949348
    10143587335415469844652657195576376821668748793277985
    10258262537826937364893714847591482595861259361697236
    10396856393331796741444281785255539289636664139174777
    10435323413594643452461575456357268656746837976785794
    10535722346434683345754579445686568155679767926678187
    10653476438526458754963756986517486719762859782187396
    10734253517434536462854564757396567586841767869795287
    10845332667135644377824675548893578665991468977611257
    10944961841755517295286662831639777394274188841538529
    11046246169155735727126684683823779579493488168151459
    11154698446526571955763768216687487932779859814388196
    11269373648937148475914825958612593616972361472718347
    11317967414442817852555392896366641391747775241285888
    11446434524615754563572686567468379767857948187896815
    11546833457545794456865681556797679266781878137789298
    11664587549637569865174867197628597821873961893298417
    11745364628545647573965675868417678697952878971816398
    11856443778246755488935786659914689776112579188722368
    11955172952866628316397773942741888415385299952649631
    12057357271266846838237795794934881681514599279262561
    12165719557637682166874879327798598143881961925499217
    12271484759148259586125936169723614727183472583829458
    12328178525553928963666413917477752412858886352396999
    12457545635726865674683797678579481878968159298917926
    12557944568656815567976792667818781377892989248891319
    12675698651748671976285978218739618932984172914319528
    12756475739656758684176786979528789718163989182927419
    12867554889357866599146897761125791887223681299833479
    129
    130The total risk of this path is 315 (the starting position is still never entered, so its risk is not
    131counted).
    132
    133Using the full map, what is the lowest total risk of any path from the top left to the bottom
    134right?
    135
    136