Finished day 14 advent of code
This commit is contained in:
32
advent_of_code/2022/14/Cargo.lock
generated
Normal file
32
advent_of_code/2022/14/Cargo.lock
generated
Normal file
@@ -0,0 +1,32 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "main"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"nom",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
|
||||
|
||||
[[package]]
|
||||
name = "minimal-lexical"
|
||||
version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
|
||||
|
||||
[[package]]
|
||||
name = "nom"
|
||||
version = "7.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e5507769c4919c998e69e49c839d9dc6e693ede4cc4290d6ad8b41d4f09c548c"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
"minimal-lexical",
|
||||
]
|
||||
9
advent_of_code/2022/14/Cargo.toml
Normal file
9
advent_of_code/2022/14/Cargo.toml
Normal file
@@ -0,0 +1,9 @@
|
||||
[package]
|
||||
name = "main"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
nom = "7.1.2"
|
||||
173
advent_of_code/2022/14/input.txt
Normal file
173
advent_of_code/2022/14/input.txt
Normal file
@@ -0,0 +1,173 @@
|
||||
504,28 -> 509,28
|
||||
493,125 -> 493,119 -> 493,125 -> 495,125 -> 495,123 -> 495,125 -> 497,125 -> 497,124 -> 497,125 -> 499,125 -> 499,120 -> 499,125 -> 501,125 -> 501,122 -> 501,125 -> 503,125 -> 503,118 -> 503,125 -> 505,125 -> 505,121 -> 505,125 -> 507,125 -> 507,116 -> 507,125 -> 509,125 -> 509,119 -> 509,125
|
||||
500,26 -> 505,26
|
||||
494,30 -> 499,30
|
||||
525,159 -> 529,159
|
||||
493,125 -> 493,119 -> 493,125 -> 495,125 -> 495,123 -> 495,125 -> 497,125 -> 497,124 -> 497,125 -> 499,125 -> 499,120 -> 499,125 -> 501,125 -> 501,122 -> 501,125 -> 503,125 -> 503,118 -> 503,125 -> 505,125 -> 505,121 -> 505,125 -> 507,125 -> 507,116 -> 507,125 -> 509,125 -> 509,119 -> 509,125
|
||||
484,40 -> 484,42 -> 479,42 -> 479,49 -> 496,49 -> 496,42 -> 489,42 -> 489,40
|
||||
484,40 -> 484,42 -> 479,42 -> 479,49 -> 496,49 -> 496,42 -> 489,42 -> 489,40
|
||||
513,147 -> 513,137 -> 513,147 -> 515,147 -> 515,140 -> 515,147 -> 517,147 -> 517,140 -> 517,147 -> 519,147 -> 519,140 -> 519,147 -> 521,147 -> 521,140 -> 521,147 -> 523,147 -> 523,141 -> 523,147 -> 525,147 -> 525,143 -> 525,147 -> 527,147 -> 527,146 -> 527,147 -> 529,147 -> 529,142 -> 529,147
|
||||
470,62 -> 470,60 -> 470,62 -> 472,62 -> 472,54 -> 472,62 -> 474,62 -> 474,54 -> 474,62 -> 476,62 -> 476,56 -> 476,62 -> 478,62 -> 478,60 -> 478,62 -> 480,62 -> 480,61 -> 480,62 -> 482,62 -> 482,60 -> 482,62 -> 484,62 -> 484,60 -> 484,62
|
||||
484,40 -> 484,42 -> 479,42 -> 479,49 -> 496,49 -> 496,42 -> 489,42 -> 489,40
|
||||
513,36 -> 513,37 -> 525,37
|
||||
496,23 -> 496,18 -> 496,23 -> 498,23 -> 498,14 -> 498,23 -> 500,23 -> 500,22 -> 500,23 -> 502,23 -> 502,15 -> 502,23
|
||||
489,86 -> 493,86
|
||||
516,162 -> 520,162
|
||||
493,125 -> 493,119 -> 493,125 -> 495,125 -> 495,123 -> 495,125 -> 497,125 -> 497,124 -> 497,125 -> 499,125 -> 499,120 -> 499,125 -> 501,125 -> 501,122 -> 501,125 -> 503,125 -> 503,118 -> 503,125 -> 505,125 -> 505,121 -> 505,125 -> 507,125 -> 507,116 -> 507,125 -> 509,125 -> 509,119 -> 509,125
|
||||
479,89 -> 479,91 -> 478,91 -> 478,95 -> 486,95 -> 486,91 -> 483,91 -> 483,89
|
||||
470,62 -> 470,60 -> 470,62 -> 472,62 -> 472,54 -> 472,62 -> 474,62 -> 474,54 -> 474,62 -> 476,62 -> 476,56 -> 476,62 -> 478,62 -> 478,60 -> 478,62 -> 480,62 -> 480,61 -> 480,62 -> 482,62 -> 482,60 -> 482,62 -> 484,62 -> 484,60 -> 484,62
|
||||
522,156 -> 526,156
|
||||
482,65 -> 482,67 -> 475,67 -> 475,70 -> 495,70 -> 495,67 -> 488,67 -> 488,65
|
||||
485,98 -> 485,101 -> 478,101 -> 478,108 -> 493,108 -> 493,101 -> 489,101 -> 489,98
|
||||
493,125 -> 493,119 -> 493,125 -> 495,125 -> 495,123 -> 495,125 -> 497,125 -> 497,124 -> 497,125 -> 499,125 -> 499,120 -> 499,125 -> 501,125 -> 501,122 -> 501,125 -> 503,125 -> 503,118 -> 503,125 -> 505,125 -> 505,121 -> 505,125 -> 507,125 -> 507,116 -> 507,125 -> 509,125 -> 509,119 -> 509,125
|
||||
470,62 -> 470,60 -> 470,62 -> 472,62 -> 472,54 -> 472,62 -> 474,62 -> 474,54 -> 474,62 -> 476,62 -> 476,56 -> 476,62 -> 478,62 -> 478,60 -> 478,62 -> 480,62 -> 480,61 -> 480,62 -> 482,62 -> 482,60 -> 482,62 -> 484,62 -> 484,60 -> 484,62
|
||||
484,40 -> 484,42 -> 479,42 -> 479,49 -> 496,49 -> 496,42 -> 489,42 -> 489,40
|
||||
482,65 -> 482,67 -> 475,67 -> 475,70 -> 495,70 -> 495,67 -> 488,67 -> 488,65
|
||||
502,132 -> 506,132
|
||||
516,34 -> 521,34
|
||||
482,65 -> 482,67 -> 475,67 -> 475,70 -> 495,70 -> 495,67 -> 488,67 -> 488,65
|
||||
470,62 -> 470,60 -> 470,62 -> 472,62 -> 472,54 -> 472,62 -> 474,62 -> 474,54 -> 474,62 -> 476,62 -> 476,56 -> 476,62 -> 478,62 -> 478,60 -> 478,62 -> 480,62 -> 480,61 -> 480,62 -> 482,62 -> 482,60 -> 482,62 -> 484,62 -> 484,60 -> 484,62
|
||||
513,147 -> 513,137 -> 513,147 -> 515,147 -> 515,140 -> 515,147 -> 517,147 -> 517,140 -> 517,147 -> 519,147 -> 519,140 -> 519,147 -> 521,147 -> 521,140 -> 521,147 -> 523,147 -> 523,141 -> 523,147 -> 525,147 -> 525,143 -> 525,147 -> 527,147 -> 527,146 -> 527,147 -> 529,147 -> 529,142 -> 529,147
|
||||
508,128 -> 512,128
|
||||
513,147 -> 513,137 -> 513,147 -> 515,147 -> 515,140 -> 515,147 -> 517,147 -> 517,140 -> 517,147 -> 519,147 -> 519,140 -> 519,147 -> 521,147 -> 521,140 -> 521,147 -> 523,147 -> 523,141 -> 523,147 -> 525,147 -> 525,143 -> 525,147 -> 527,147 -> 527,146 -> 527,147 -> 529,147 -> 529,142 -> 529,147
|
||||
470,62 -> 470,60 -> 470,62 -> 472,62 -> 472,54 -> 472,62 -> 474,62 -> 474,54 -> 474,62 -> 476,62 -> 476,56 -> 476,62 -> 478,62 -> 478,60 -> 478,62 -> 480,62 -> 480,61 -> 480,62 -> 482,62 -> 482,60 -> 482,62 -> 484,62 -> 484,60 -> 484,62
|
||||
495,80 -> 499,80
|
||||
484,40 -> 484,42 -> 479,42 -> 479,49 -> 496,49 -> 496,42 -> 489,42 -> 489,40
|
||||
513,147 -> 513,137 -> 513,147 -> 515,147 -> 515,140 -> 515,147 -> 517,147 -> 517,140 -> 517,147 -> 519,147 -> 519,140 -> 519,147 -> 521,147 -> 521,140 -> 521,147 -> 523,147 -> 523,141 -> 523,147 -> 525,147 -> 525,143 -> 525,147 -> 527,147 -> 527,146 -> 527,147 -> 529,147 -> 529,142 -> 529,147
|
||||
493,125 -> 493,119 -> 493,125 -> 495,125 -> 495,123 -> 495,125 -> 497,125 -> 497,124 -> 497,125 -> 499,125 -> 499,120 -> 499,125 -> 501,125 -> 501,122 -> 501,125 -> 503,125 -> 503,118 -> 503,125 -> 505,125 -> 505,121 -> 505,125 -> 507,125 -> 507,116 -> 507,125 -> 509,125 -> 509,119 -> 509,125
|
||||
513,147 -> 513,137 -> 513,147 -> 515,147 -> 515,140 -> 515,147 -> 517,147 -> 517,140 -> 517,147 -> 519,147 -> 519,140 -> 519,147 -> 521,147 -> 521,140 -> 521,147 -> 523,147 -> 523,141 -> 523,147 -> 525,147 -> 525,143 -> 525,147 -> 527,147 -> 527,146 -> 527,147 -> 529,147 -> 529,142 -> 529,147
|
||||
470,62 -> 470,60 -> 470,62 -> 472,62 -> 472,54 -> 472,62 -> 474,62 -> 474,54 -> 474,62 -> 476,62 -> 476,56 -> 476,62 -> 478,62 -> 478,60 -> 478,62 -> 480,62 -> 480,61 -> 480,62 -> 482,62 -> 482,60 -> 482,62 -> 484,62 -> 484,60 -> 484,62
|
||||
497,28 -> 502,28
|
||||
534,156 -> 538,156
|
||||
496,23 -> 496,18 -> 496,23 -> 498,23 -> 498,14 -> 498,23 -> 500,23 -> 500,22 -> 500,23 -> 502,23 -> 502,15 -> 502,23
|
||||
528,156 -> 532,156
|
||||
493,125 -> 493,119 -> 493,125 -> 495,125 -> 495,123 -> 495,125 -> 497,125 -> 497,124 -> 497,125 -> 499,125 -> 499,120 -> 499,125 -> 501,125 -> 501,122 -> 501,125 -> 503,125 -> 503,118 -> 503,125 -> 505,125 -> 505,121 -> 505,125 -> 507,125 -> 507,116 -> 507,125 -> 509,125 -> 509,119 -> 509,125
|
||||
513,147 -> 513,137 -> 513,147 -> 515,147 -> 515,140 -> 515,147 -> 517,147 -> 517,140 -> 517,147 -> 519,147 -> 519,140 -> 519,147 -> 521,147 -> 521,140 -> 521,147 -> 523,147 -> 523,141 -> 523,147 -> 525,147 -> 525,143 -> 525,147 -> 527,147 -> 527,146 -> 527,147 -> 529,147 -> 529,142 -> 529,147
|
||||
498,83 -> 502,83
|
||||
537,159 -> 541,159
|
||||
485,98 -> 485,101 -> 478,101 -> 478,108 -> 493,108 -> 493,101 -> 489,101 -> 489,98
|
||||
482,65 -> 482,67 -> 475,67 -> 475,70 -> 495,70 -> 495,67 -> 488,67 -> 488,65
|
||||
513,147 -> 513,137 -> 513,147 -> 515,147 -> 515,140 -> 515,147 -> 517,147 -> 517,140 -> 517,147 -> 519,147 -> 519,140 -> 519,147 -> 521,147 -> 521,140 -> 521,147 -> 523,147 -> 523,141 -> 523,147 -> 525,147 -> 525,143 -> 525,147 -> 527,147 -> 527,146 -> 527,147 -> 529,147 -> 529,142 -> 529,147
|
||||
513,147 -> 513,137 -> 513,147 -> 515,147 -> 515,140 -> 515,147 -> 517,147 -> 517,140 -> 517,147 -> 519,147 -> 519,140 -> 519,147 -> 521,147 -> 521,140 -> 521,147 -> 523,147 -> 523,141 -> 523,147 -> 525,147 -> 525,143 -> 525,147 -> 527,147 -> 527,146 -> 527,147 -> 529,147 -> 529,142 -> 529,147
|
||||
493,125 -> 493,119 -> 493,125 -> 495,125 -> 495,123 -> 495,125 -> 497,125 -> 497,124 -> 497,125 -> 499,125 -> 499,120 -> 499,125 -> 501,125 -> 501,122 -> 501,125 -> 503,125 -> 503,118 -> 503,125 -> 505,125 -> 505,121 -> 505,125 -> 507,125 -> 507,116 -> 507,125 -> 509,125 -> 509,119 -> 509,125
|
||||
513,147 -> 513,137 -> 513,147 -> 515,147 -> 515,140 -> 515,147 -> 517,147 -> 517,140 -> 517,147 -> 519,147 -> 519,140 -> 519,147 -> 521,147 -> 521,140 -> 521,147 -> 523,147 -> 523,141 -> 523,147 -> 525,147 -> 525,143 -> 525,147 -> 527,147 -> 527,146 -> 527,147 -> 529,147 -> 529,142 -> 529,147
|
||||
493,125 -> 493,119 -> 493,125 -> 495,125 -> 495,123 -> 495,125 -> 497,125 -> 497,124 -> 497,125 -> 499,125 -> 499,120 -> 499,125 -> 501,125 -> 501,122 -> 501,125 -> 503,125 -> 503,118 -> 503,125 -> 505,125 -> 505,121 -> 505,125 -> 507,125 -> 507,116 -> 507,125 -> 509,125 -> 509,119 -> 509,125
|
||||
513,147 -> 513,137 -> 513,147 -> 515,147 -> 515,140 -> 515,147 -> 517,147 -> 517,140 -> 517,147 -> 519,147 -> 519,140 -> 519,147 -> 521,147 -> 521,140 -> 521,147 -> 523,147 -> 523,141 -> 523,147 -> 525,147 -> 525,143 -> 525,147 -> 527,147 -> 527,146 -> 527,147 -> 529,147 -> 529,142 -> 529,147
|
||||
485,98 -> 485,101 -> 478,101 -> 478,108 -> 493,108 -> 493,101 -> 489,101 -> 489,98
|
||||
528,150 -> 532,150
|
||||
522,162 -> 526,162
|
||||
496,23 -> 496,18 -> 496,23 -> 498,23 -> 498,14 -> 498,23 -> 500,23 -> 500,22 -> 500,23 -> 502,23 -> 502,15 -> 502,23
|
||||
505,32 -> 510,32
|
||||
498,32 -> 503,32
|
||||
495,34 -> 500,34
|
||||
484,40 -> 484,42 -> 479,42 -> 479,49 -> 496,49 -> 496,42 -> 489,42 -> 489,40
|
||||
493,125 -> 493,119 -> 493,125 -> 495,125 -> 495,123 -> 495,125 -> 497,125 -> 497,124 -> 497,125 -> 499,125 -> 499,120 -> 499,125 -> 501,125 -> 501,122 -> 501,125 -> 503,125 -> 503,118 -> 503,125 -> 505,125 -> 505,121 -> 505,125 -> 507,125 -> 507,116 -> 507,125 -> 509,125 -> 509,119 -> 509,125
|
||||
495,73 -> 495,74 -> 497,74 -> 497,73
|
||||
470,62 -> 470,60 -> 470,62 -> 472,62 -> 472,54 -> 472,62 -> 474,62 -> 474,54 -> 474,62 -> 476,62 -> 476,56 -> 476,62 -> 478,62 -> 478,60 -> 478,62 -> 480,62 -> 480,61 -> 480,62 -> 482,62 -> 482,60 -> 482,62 -> 484,62 -> 484,60 -> 484,62
|
||||
496,23 -> 496,18 -> 496,23 -> 498,23 -> 498,14 -> 498,23 -> 500,23 -> 500,22 -> 500,23 -> 502,23 -> 502,15 -> 502,23
|
||||
479,89 -> 479,91 -> 478,91 -> 478,95 -> 486,95 -> 486,91 -> 483,91 -> 483,89
|
||||
496,23 -> 496,18 -> 496,23 -> 498,23 -> 498,14 -> 498,23 -> 500,23 -> 500,22 -> 500,23 -> 502,23 -> 502,15 -> 502,23
|
||||
470,62 -> 470,60 -> 470,62 -> 472,62 -> 472,54 -> 472,62 -> 474,62 -> 474,54 -> 474,62 -> 476,62 -> 476,56 -> 476,62 -> 478,62 -> 478,60 -> 478,62 -> 480,62 -> 480,61 -> 480,62 -> 482,62 -> 482,60 -> 482,62 -> 484,62 -> 484,60 -> 484,62
|
||||
513,147 -> 513,137 -> 513,147 -> 515,147 -> 515,140 -> 515,147 -> 517,147 -> 517,140 -> 517,147 -> 519,147 -> 519,140 -> 519,147 -> 521,147 -> 521,140 -> 521,147 -> 523,147 -> 523,141 -> 523,147 -> 525,147 -> 525,143 -> 525,147 -> 527,147 -> 527,146 -> 527,147 -> 529,147 -> 529,142 -> 529,147
|
||||
496,23 -> 496,18 -> 496,23 -> 498,23 -> 498,14 -> 498,23 -> 500,23 -> 500,22 -> 500,23 -> 502,23 -> 502,15 -> 502,23
|
||||
479,89 -> 479,91 -> 478,91 -> 478,95 -> 486,95 -> 486,91 -> 483,91 -> 483,89
|
||||
479,89 -> 479,91 -> 478,91 -> 478,95 -> 486,95 -> 486,91 -> 483,91 -> 483,89
|
||||
514,132 -> 518,132
|
||||
479,89 -> 479,91 -> 478,91 -> 478,95 -> 486,95 -> 486,91 -> 483,91 -> 483,89
|
||||
479,89 -> 479,91 -> 478,91 -> 478,95 -> 486,95 -> 486,91 -> 483,91 -> 483,89
|
||||
513,36 -> 513,37 -> 525,37
|
||||
505,134 -> 509,134
|
||||
493,125 -> 493,119 -> 493,125 -> 495,125 -> 495,123 -> 495,125 -> 497,125 -> 497,124 -> 497,125 -> 499,125 -> 499,120 -> 499,125 -> 501,125 -> 501,122 -> 501,125 -> 503,125 -> 503,118 -> 503,125 -> 505,125 -> 505,121 -> 505,125 -> 507,125 -> 507,116 -> 507,125 -> 509,125 -> 509,119 -> 509,125
|
||||
489,80 -> 493,80
|
||||
513,147 -> 513,137 -> 513,147 -> 515,147 -> 515,140 -> 515,147 -> 517,147 -> 517,140 -> 517,147 -> 519,147 -> 519,140 -> 519,147 -> 521,147 -> 521,140 -> 521,147 -> 523,147 -> 523,141 -> 523,147 -> 525,147 -> 525,143 -> 525,147 -> 527,147 -> 527,146 -> 527,147 -> 529,147 -> 529,142 -> 529,147
|
||||
513,147 -> 513,137 -> 513,147 -> 515,147 -> 515,140 -> 515,147 -> 517,147 -> 517,140 -> 517,147 -> 519,147 -> 519,140 -> 519,147 -> 521,147 -> 521,140 -> 521,147 -> 523,147 -> 523,141 -> 523,147 -> 525,147 -> 525,143 -> 525,147 -> 527,147 -> 527,146 -> 527,147 -> 529,147 -> 529,142 -> 529,147
|
||||
501,30 -> 506,30
|
||||
496,23 -> 496,18 -> 496,23 -> 498,23 -> 498,14 -> 498,23 -> 500,23 -> 500,22 -> 500,23 -> 502,23 -> 502,15 -> 502,23
|
||||
470,62 -> 470,60 -> 470,62 -> 472,62 -> 472,54 -> 472,62 -> 474,62 -> 474,54 -> 474,62 -> 476,62 -> 476,56 -> 476,62 -> 478,62 -> 478,60 -> 478,62 -> 480,62 -> 480,61 -> 480,62 -> 482,62 -> 482,60 -> 482,62 -> 484,62 -> 484,60 -> 484,62
|
||||
470,62 -> 470,60 -> 470,62 -> 472,62 -> 472,54 -> 472,62 -> 474,62 -> 474,54 -> 474,62 -> 476,62 -> 476,56 -> 476,62 -> 478,62 -> 478,60 -> 478,62 -> 480,62 -> 480,61 -> 480,62 -> 482,62 -> 482,60 -> 482,62 -> 484,62 -> 484,60 -> 484,62
|
||||
513,147 -> 513,137 -> 513,147 -> 515,147 -> 515,140 -> 515,147 -> 517,147 -> 517,140 -> 517,147 -> 519,147 -> 519,140 -> 519,147 -> 521,147 -> 521,140 -> 521,147 -> 523,147 -> 523,141 -> 523,147 -> 525,147 -> 525,143 -> 525,147 -> 527,147 -> 527,146 -> 527,147 -> 529,147 -> 529,142 -> 529,147
|
||||
470,62 -> 470,60 -> 470,62 -> 472,62 -> 472,54 -> 472,62 -> 474,62 -> 474,54 -> 474,62 -> 476,62 -> 476,56 -> 476,62 -> 478,62 -> 478,60 -> 478,62 -> 480,62 -> 480,61 -> 480,62 -> 482,62 -> 482,60 -> 482,62 -> 484,62 -> 484,60 -> 484,62
|
||||
470,62 -> 470,60 -> 470,62 -> 472,62 -> 472,54 -> 472,62 -> 474,62 -> 474,54 -> 474,62 -> 476,62 -> 476,56 -> 476,62 -> 478,62 -> 478,60 -> 478,62 -> 480,62 -> 480,61 -> 480,62 -> 482,62 -> 482,60 -> 482,62 -> 484,62 -> 484,60 -> 484,62
|
||||
509,34 -> 514,34
|
||||
511,134 -> 515,134
|
||||
493,125 -> 493,119 -> 493,125 -> 495,125 -> 495,123 -> 495,125 -> 497,125 -> 497,124 -> 497,125 -> 499,125 -> 499,120 -> 499,125 -> 501,125 -> 501,122 -> 501,125 -> 503,125 -> 503,118 -> 503,125 -> 505,125 -> 505,121 -> 505,125 -> 507,125 -> 507,116 -> 507,125 -> 509,125 -> 509,119 -> 509,125
|
||||
513,147 -> 513,137 -> 513,147 -> 515,147 -> 515,140 -> 515,147 -> 517,147 -> 517,140 -> 517,147 -> 519,147 -> 519,140 -> 519,147 -> 521,147 -> 521,140 -> 521,147 -> 523,147 -> 523,141 -> 523,147 -> 525,147 -> 525,143 -> 525,147 -> 527,147 -> 527,146 -> 527,147 -> 529,147 -> 529,142 -> 529,147
|
||||
470,62 -> 470,60 -> 470,62 -> 472,62 -> 472,54 -> 472,62 -> 474,62 -> 474,54 -> 474,62 -> 476,62 -> 476,56 -> 476,62 -> 478,62 -> 478,60 -> 478,62 -> 480,62 -> 480,61 -> 480,62 -> 482,62 -> 482,60 -> 482,62 -> 484,62 -> 484,60 -> 484,62
|
||||
501,86 -> 505,86
|
||||
488,34 -> 493,34
|
||||
491,32 -> 496,32
|
||||
510,166 -> 510,167 -> 516,167 -> 516,166
|
||||
479,89 -> 479,91 -> 478,91 -> 478,95 -> 486,95 -> 486,91 -> 483,91 -> 483,89
|
||||
513,147 -> 513,137 -> 513,147 -> 515,147 -> 515,140 -> 515,147 -> 517,147 -> 517,140 -> 517,147 -> 519,147 -> 519,140 -> 519,147 -> 521,147 -> 521,140 -> 521,147 -> 523,147 -> 523,141 -> 523,147 -> 525,147 -> 525,143 -> 525,147 -> 527,147 -> 527,146 -> 527,147 -> 529,147 -> 529,142 -> 529,147
|
||||
493,125 -> 493,119 -> 493,125 -> 495,125 -> 495,123 -> 495,125 -> 497,125 -> 497,124 -> 497,125 -> 499,125 -> 499,120 -> 499,125 -> 501,125 -> 501,122 -> 501,125 -> 503,125 -> 503,118 -> 503,125 -> 505,125 -> 505,121 -> 505,125 -> 507,125 -> 507,116 -> 507,125 -> 509,125 -> 509,119 -> 509,125
|
||||
488,112 -> 501,112
|
||||
493,125 -> 493,119 -> 493,125 -> 495,125 -> 495,123 -> 495,125 -> 497,125 -> 497,124 -> 497,125 -> 499,125 -> 499,120 -> 499,125 -> 501,125 -> 501,122 -> 501,125 -> 503,125 -> 503,118 -> 503,125 -> 505,125 -> 505,121 -> 505,125 -> 507,125 -> 507,116 -> 507,125 -> 509,125 -> 509,119 -> 509,125
|
||||
493,125 -> 493,119 -> 493,125 -> 495,125 -> 495,123 -> 495,125 -> 497,125 -> 497,124 -> 497,125 -> 499,125 -> 499,120 -> 499,125 -> 501,125 -> 501,122 -> 501,125 -> 503,125 -> 503,118 -> 503,125 -> 505,125 -> 505,121 -> 505,125 -> 507,125 -> 507,116 -> 507,125 -> 509,125 -> 509,119 -> 509,125
|
||||
502,34 -> 507,34
|
||||
496,23 -> 496,18 -> 496,23 -> 498,23 -> 498,14 -> 498,23 -> 500,23 -> 500,22 -> 500,23 -> 502,23 -> 502,15 -> 502,23
|
||||
513,147 -> 513,137 -> 513,147 -> 515,147 -> 515,140 -> 515,147 -> 517,147 -> 517,140 -> 517,147 -> 519,147 -> 519,140 -> 519,147 -> 521,147 -> 521,140 -> 521,147 -> 523,147 -> 523,141 -> 523,147 -> 525,147 -> 525,143 -> 525,147 -> 527,147 -> 527,146 -> 527,147 -> 529,147 -> 529,142 -> 529,147
|
||||
485,98 -> 485,101 -> 478,101 -> 478,108 -> 493,108 -> 493,101 -> 489,101 -> 489,98
|
||||
493,125 -> 493,119 -> 493,125 -> 495,125 -> 495,123 -> 495,125 -> 497,125 -> 497,124 -> 497,125 -> 499,125 -> 499,120 -> 499,125 -> 501,125 -> 501,122 -> 501,125 -> 503,125 -> 503,118 -> 503,125 -> 505,125 -> 505,121 -> 505,125 -> 507,125 -> 507,116 -> 507,125 -> 509,125 -> 509,119 -> 509,125
|
||||
470,62 -> 470,60 -> 470,62 -> 472,62 -> 472,54 -> 472,62 -> 474,62 -> 474,54 -> 474,62 -> 476,62 -> 476,56 -> 476,62 -> 478,62 -> 478,60 -> 478,62 -> 480,62 -> 480,61 -> 480,62 -> 482,62 -> 482,60 -> 482,62 -> 484,62 -> 484,60 -> 484,62
|
||||
493,125 -> 493,119 -> 493,125 -> 495,125 -> 495,123 -> 495,125 -> 497,125 -> 497,124 -> 497,125 -> 499,125 -> 499,120 -> 499,125 -> 501,125 -> 501,122 -> 501,125 -> 503,125 -> 503,118 -> 503,125 -> 505,125 -> 505,121 -> 505,125 -> 507,125 -> 507,116 -> 507,125 -> 509,125 -> 509,119 -> 509,125
|
||||
513,147 -> 513,137 -> 513,147 -> 515,147 -> 515,140 -> 515,147 -> 517,147 -> 517,140 -> 517,147 -> 519,147 -> 519,140 -> 519,147 -> 521,147 -> 521,140 -> 521,147 -> 523,147 -> 523,141 -> 523,147 -> 525,147 -> 525,143 -> 525,147 -> 527,147 -> 527,146 -> 527,147 -> 529,147 -> 529,142 -> 529,147
|
||||
499,134 -> 503,134
|
||||
493,125 -> 493,119 -> 493,125 -> 495,125 -> 495,123 -> 495,125 -> 497,125 -> 497,124 -> 497,125 -> 499,125 -> 499,120 -> 499,125 -> 501,125 -> 501,122 -> 501,125 -> 503,125 -> 503,118 -> 503,125 -> 505,125 -> 505,121 -> 505,125 -> 507,125 -> 507,116 -> 507,125 -> 509,125 -> 509,119 -> 509,125
|
||||
531,159 -> 535,159
|
||||
513,147 -> 513,137 -> 513,147 -> 515,147 -> 515,140 -> 515,147 -> 517,147 -> 517,140 -> 517,147 -> 519,147 -> 519,140 -> 519,147 -> 521,147 -> 521,140 -> 521,147 -> 523,147 -> 523,141 -> 523,147 -> 525,147 -> 525,143 -> 525,147 -> 527,147 -> 527,146 -> 527,147 -> 529,147 -> 529,142 -> 529,147
|
||||
534,162 -> 538,162
|
||||
493,125 -> 493,119 -> 493,125 -> 495,125 -> 495,123 -> 495,125 -> 497,125 -> 497,124 -> 497,125 -> 499,125 -> 499,120 -> 499,125 -> 501,125 -> 501,122 -> 501,125 -> 503,125 -> 503,118 -> 503,125 -> 505,125 -> 505,121 -> 505,125 -> 507,125 -> 507,116 -> 507,125 -> 509,125 -> 509,119 -> 509,125
|
||||
513,147 -> 513,137 -> 513,147 -> 515,147 -> 515,140 -> 515,147 -> 517,147 -> 517,140 -> 517,147 -> 519,147 -> 519,140 -> 519,147 -> 521,147 -> 521,140 -> 521,147 -> 523,147 -> 523,141 -> 523,147 -> 525,147 -> 525,143 -> 525,147 -> 527,147 -> 527,146 -> 527,147 -> 529,147 -> 529,142 -> 529,147
|
||||
470,62 -> 470,60 -> 470,62 -> 472,62 -> 472,54 -> 472,62 -> 474,62 -> 474,54 -> 474,62 -> 476,62 -> 476,56 -> 476,62 -> 478,62 -> 478,60 -> 478,62 -> 480,62 -> 480,61 -> 480,62 -> 482,62 -> 482,60 -> 482,62 -> 484,62 -> 484,60 -> 484,62
|
||||
470,62 -> 470,60 -> 470,62 -> 472,62 -> 472,54 -> 472,62 -> 474,62 -> 474,54 -> 474,62 -> 476,62 -> 476,56 -> 476,62 -> 478,62 -> 478,60 -> 478,62 -> 480,62 -> 480,61 -> 480,62 -> 482,62 -> 482,60 -> 482,62 -> 484,62 -> 484,60 -> 484,62
|
||||
493,125 -> 493,119 -> 493,125 -> 495,125 -> 495,123 -> 495,125 -> 497,125 -> 497,124 -> 497,125 -> 499,125 -> 499,120 -> 499,125 -> 501,125 -> 501,122 -> 501,125 -> 503,125 -> 503,118 -> 503,125 -> 505,125 -> 505,121 -> 505,125 -> 507,125 -> 507,116 -> 507,125 -> 509,125 -> 509,119 -> 509,125
|
||||
513,147 -> 513,137 -> 513,147 -> 515,147 -> 515,140 -> 515,147 -> 517,147 -> 517,140 -> 517,147 -> 519,147 -> 519,140 -> 519,147 -> 521,147 -> 521,140 -> 521,147 -> 523,147 -> 523,141 -> 523,147 -> 525,147 -> 525,143 -> 525,147 -> 527,147 -> 527,146 -> 527,147 -> 529,147 -> 529,142 -> 529,147
|
||||
485,98 -> 485,101 -> 478,101 -> 478,108 -> 493,108 -> 493,101 -> 489,101 -> 489,98
|
||||
470,62 -> 470,60 -> 470,62 -> 472,62 -> 472,54 -> 472,62 -> 474,62 -> 474,54 -> 474,62 -> 476,62 -> 476,56 -> 476,62 -> 478,62 -> 478,60 -> 478,62 -> 480,62 -> 480,61 -> 480,62 -> 482,62 -> 482,60 -> 482,62 -> 484,62 -> 484,60 -> 484,62
|
||||
525,153 -> 529,153
|
||||
531,153 -> 535,153
|
||||
513,147 -> 513,137 -> 513,147 -> 515,147 -> 515,140 -> 515,147 -> 517,147 -> 517,140 -> 517,147 -> 519,147 -> 519,140 -> 519,147 -> 521,147 -> 521,140 -> 521,147 -> 523,147 -> 523,141 -> 523,147 -> 525,147 -> 525,143 -> 525,147 -> 527,147 -> 527,146 -> 527,147 -> 529,147 -> 529,142 -> 529,147
|
||||
492,77 -> 496,77
|
||||
496,23 -> 496,18 -> 496,23 -> 498,23 -> 498,14 -> 498,23 -> 500,23 -> 500,22 -> 500,23 -> 502,23 -> 502,15 -> 502,23
|
||||
493,125 -> 493,119 -> 493,125 -> 495,125 -> 495,123 -> 495,125 -> 497,125 -> 497,124 -> 497,125 -> 499,125 -> 499,120 -> 499,125 -> 501,125 -> 501,122 -> 501,125 -> 503,125 -> 503,118 -> 503,125 -> 505,125 -> 505,121 -> 505,125 -> 507,125 -> 507,116 -> 507,125 -> 509,125 -> 509,119 -> 509,125
|
||||
486,83 -> 490,83
|
||||
492,83 -> 496,83
|
||||
495,73 -> 495,74 -> 497,74 -> 497,73
|
||||
528,162 -> 532,162
|
||||
493,125 -> 493,119 -> 493,125 -> 495,125 -> 495,123 -> 495,125 -> 497,125 -> 497,124 -> 497,125 -> 499,125 -> 499,120 -> 499,125 -> 501,125 -> 501,122 -> 501,125 -> 503,125 -> 503,118 -> 503,125 -> 505,125 -> 505,121 -> 505,125 -> 507,125 -> 507,116 -> 507,125 -> 509,125 -> 509,119 -> 509,125
|
||||
510,166 -> 510,167 -> 516,167 -> 516,166
|
||||
511,130 -> 515,130
|
||||
470,62 -> 470,60 -> 470,62 -> 472,62 -> 472,54 -> 472,62 -> 474,62 -> 474,54 -> 474,62 -> 476,62 -> 476,56 -> 476,62 -> 478,62 -> 478,60 -> 478,62 -> 480,62 -> 480,61 -> 480,62 -> 482,62 -> 482,60 -> 482,62 -> 484,62 -> 484,60 -> 484,62
|
||||
512,32 -> 517,32
|
||||
513,147 -> 513,137 -> 513,147 -> 515,147 -> 515,140 -> 515,147 -> 517,147 -> 517,140 -> 517,147 -> 519,147 -> 519,140 -> 519,147 -> 521,147 -> 521,140 -> 521,147 -> 523,147 -> 523,141 -> 523,147 -> 525,147 -> 525,143 -> 525,147 -> 527,147 -> 527,146 -> 527,147 -> 529,147 -> 529,142 -> 529,147
|
||||
513,147 -> 513,137 -> 513,147 -> 515,147 -> 515,140 -> 515,147 -> 517,147 -> 517,140 -> 517,147 -> 519,147 -> 519,140 -> 519,147 -> 521,147 -> 521,140 -> 521,147 -> 523,147 -> 523,141 -> 523,147 -> 525,147 -> 525,143 -> 525,147 -> 527,147 -> 527,146 -> 527,147 -> 529,147 -> 529,142 -> 529,147
|
||||
493,125 -> 493,119 -> 493,125 -> 495,125 -> 495,123 -> 495,125 -> 497,125 -> 497,124 -> 497,125 -> 499,125 -> 499,120 -> 499,125 -> 501,125 -> 501,122 -> 501,125 -> 503,125 -> 503,118 -> 503,125 -> 505,125 -> 505,121 -> 505,125 -> 507,125 -> 507,116 -> 507,125 -> 509,125 -> 509,119 -> 509,125
|
||||
470,62 -> 470,60 -> 470,62 -> 472,62 -> 472,54 -> 472,62 -> 474,62 -> 474,54 -> 474,62 -> 476,62 -> 476,56 -> 476,62 -> 478,62 -> 478,60 -> 478,62 -> 480,62 -> 480,61 -> 480,62 -> 482,62 -> 482,60 -> 482,62 -> 484,62 -> 484,60 -> 484,62
|
||||
470,62 -> 470,60 -> 470,62 -> 472,62 -> 472,54 -> 472,62 -> 474,62 -> 474,54 -> 474,62 -> 476,62 -> 476,56 -> 476,62 -> 478,62 -> 478,60 -> 478,62 -> 480,62 -> 480,61 -> 480,62 -> 482,62 -> 482,60 -> 482,62 -> 484,62 -> 484,60 -> 484,62
|
||||
519,159 -> 523,159
|
||||
485,98 -> 485,101 -> 478,101 -> 478,108 -> 493,108 -> 493,101 -> 489,101 -> 489,98
|
||||
540,162 -> 544,162
|
||||
482,65 -> 482,67 -> 475,67 -> 475,70 -> 495,70 -> 495,67 -> 488,67 -> 488,65
|
||||
493,125 -> 493,119 -> 493,125 -> 495,125 -> 495,123 -> 495,125 -> 497,125 -> 497,124 -> 497,125 -> 499,125 -> 499,120 -> 499,125 -> 501,125 -> 501,122 -> 501,125 -> 503,125 -> 503,118 -> 503,125 -> 505,125 -> 505,121 -> 505,125 -> 507,125 -> 507,116 -> 507,125 -> 509,125 -> 509,119 -> 509,125
|
||||
508,132 -> 512,132
|
||||
493,125 -> 493,119 -> 493,125 -> 495,125 -> 495,123 -> 495,125 -> 497,125 -> 497,124 -> 497,125 -> 499,125 -> 499,120 -> 499,125 -> 501,125 -> 501,122 -> 501,125 -> 503,125 -> 503,118 -> 503,125 -> 505,125 -> 505,121 -> 505,125 -> 507,125 -> 507,116 -> 507,125 -> 509,125 -> 509,119 -> 509,125
|
||||
493,125 -> 493,119 -> 493,125 -> 495,125 -> 495,123 -> 495,125 -> 497,125 -> 497,124 -> 497,125 -> 499,125 -> 499,120 -> 499,125 -> 501,125 -> 501,122 -> 501,125 -> 503,125 -> 503,118 -> 503,125 -> 505,125 -> 505,121 -> 505,125 -> 507,125 -> 507,116 -> 507,125 -> 509,125 -> 509,119 -> 509,125
|
||||
495,86 -> 499,86
|
||||
495,73 -> 495,74 -> 497,74 -> 497,73
|
||||
485,98 -> 485,101 -> 478,101 -> 478,108 -> 493,108 -> 493,101 -> 489,101 -> 489,98
|
||||
484,40 -> 484,42 -> 479,42 -> 479,49 -> 496,49 -> 496,42 -> 489,42 -> 489,40
|
||||
510,166 -> 510,167 -> 516,167 -> 516,166
|
||||
513,147 -> 513,137 -> 513,147 -> 515,147 -> 515,140 -> 515,147 -> 517,147 -> 517,140 -> 517,147 -> 519,147 -> 519,140 -> 519,147 -> 521,147 -> 521,140 -> 521,147 -> 523,147 -> 523,141 -> 523,147 -> 525,147 -> 525,143 -> 525,147 -> 527,147 -> 527,146 -> 527,147 -> 529,147 -> 529,142 -> 529,147
|
||||
496,23 -> 496,18 -> 496,23 -> 498,23 -> 498,14 -> 498,23 -> 500,23 -> 500,22 -> 500,23 -> 502,23 -> 502,15 -> 502,23
|
||||
470,62 -> 470,60 -> 470,62 -> 472,62 -> 472,54 -> 472,62 -> 474,62 -> 474,54 -> 474,62 -> 476,62 -> 476,56 -> 476,62 -> 478,62 -> 478,60 -> 478,62 -> 480,62 -> 480,61 -> 480,62 -> 482,62 -> 482,60 -> 482,62 -> 484,62 -> 484,60 -> 484,62
|
||||
483,86 -> 487,86
|
||||
482,65 -> 482,67 -> 475,67 -> 475,70 -> 495,70 -> 495,67 -> 488,67 -> 488,65
|
||||
482,65 -> 482,67 -> 475,67 -> 475,70 -> 495,70 -> 495,67 -> 488,67 -> 488,65
|
||||
496,23 -> 496,18 -> 496,23 -> 498,23 -> 498,14 -> 498,23 -> 500,23 -> 500,22 -> 500,23 -> 502,23 -> 502,15 -> 502,23
|
||||
470,62 -> 470,60 -> 470,62 -> 472,62 -> 472,54 -> 472,62 -> 474,62 -> 474,54 -> 474,62 -> 476,62 -> 476,56 -> 476,62 -> 478,62 -> 478,60 -> 478,62 -> 480,62 -> 480,61 -> 480,62 -> 482,62 -> 482,60 -> 482,62 -> 484,62 -> 484,60 -> 484,62
|
||||
513,147 -> 513,137 -> 513,147 -> 515,147 -> 515,140 -> 515,147 -> 517,147 -> 517,140 -> 517,147 -> 519,147 -> 519,140 -> 519,147 -> 521,147 -> 521,140 -> 521,147 -> 523,147 -> 523,141 -> 523,147 -> 525,147 -> 525,143 -> 525,147 -> 527,147 -> 527,146 -> 527,147 -> 529,147 -> 529,142 -> 529,147
|
||||
517,134 -> 521,134
|
||||
508,30 -> 513,30
|
||||
505,130 -> 509,130
|
||||
493,125 -> 493,119 -> 493,125 -> 495,125 -> 495,123 -> 495,125 -> 497,125 -> 497,124 -> 497,125 -> 499,125 -> 499,120 -> 499,125 -> 501,125 -> 501,122 -> 501,125 -> 503,125 -> 503,118 -> 503,125 -> 505,125 -> 505,121 -> 505,125 -> 507,125 -> 507,116 -> 507,125 -> 509,125 -> 509,119 -> 509,125
|
||||
470,62 -> 470,60 -> 470,62 -> 472,62 -> 472,54 -> 472,62 -> 474,62 -> 474,54 -> 474,62 -> 476,62 -> 476,56 -> 476,62 -> 478,62 -> 478,60 -> 478,62 -> 480,62 -> 480,61 -> 480,62 -> 482,62 -> 482,60 -> 482,62 -> 484,62 -> 484,60 -> 484,62
|
||||
150
advent_of_code/2022/14/src/main.rs
Normal file
150
advent_of_code/2022/14/src/main.rs
Normal file
@@ -0,0 +1,150 @@
|
||||
use std::{cmp::min, cmp::max, collections::{HashSet, HashMap}};
|
||||
use nom::{
|
||||
IResult,
|
||||
multi::separated_list1,
|
||||
character::complete::{self, multispace1},
|
||||
sequence::separated_pair,
|
||||
bytes::complete::tag,
|
||||
};
|
||||
|
||||
fn parse_input(input: &str) -> IResult<&str, Vec<Vec<(u32, u32)>>> {
|
||||
let (input, result) = separated_list1(
|
||||
multispace1,
|
||||
separated_list1(
|
||||
tag(" -> "),
|
||||
separated_pair(complete::u32, tag(","), complete::u32)
|
||||
)
|
||||
)(input)?;
|
||||
|
||||
Ok((input, result))
|
||||
}
|
||||
|
||||
fn print_coords(coords: &Vec<Vec<(u32, u32)>>) {
|
||||
for line in coords {
|
||||
for (c1, c2) in line {
|
||||
print!("{c1},{c2} -> ");
|
||||
}
|
||||
println!();
|
||||
}
|
||||
}
|
||||
|
||||
fn coords_to_map(coords: &Vec<Vec<(u32, u32)>>) -> (HashSet<(u32, u32)>, u32) {
|
||||
let mut result = HashSet::new();
|
||||
let mut lowest_tile = 0;
|
||||
|
||||
for rock in coords {
|
||||
for i in 0..rock.len() - 1 {
|
||||
let start = rock[i];
|
||||
let end = rock[i+1];
|
||||
|
||||
lowest_tile = max(max(lowest_tile, start.1), end.1);
|
||||
|
||||
if start.0 == end.0 {
|
||||
let x = start.0;
|
||||
|
||||
let y_start = min(start.1, end.1);
|
||||
let y_end = max(start.1, end.1);
|
||||
|
||||
for y in y_start..=y_end {
|
||||
result.insert((x, y));
|
||||
}
|
||||
} else {
|
||||
let y = start.1;
|
||||
|
||||
let x_start = min(start.0, end.0);
|
||||
let x_end = max(start.0, end.0);
|
||||
|
||||
for x in x_start..=x_end {
|
||||
result.insert((x,y));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
(result, lowest_tile)
|
||||
}
|
||||
|
||||
fn fill_cave(cave_map: &mut HashSet<(u32, u32)>, lowest_tile: u32) -> bool {
|
||||
let mut cur = (500, 0);
|
||||
|
||||
loop {
|
||||
if cur.1 > lowest_tile {
|
||||
return false;
|
||||
}
|
||||
|
||||
if !cave_map.contains(&(cur.0, cur.1 + 1)) {
|
||||
cur = (cur.0, cur.1 + 1);
|
||||
continue;
|
||||
}
|
||||
else if !cave_map.contains(&(cur.0 - 1, cur.1 + 1)) {
|
||||
cur = (cur.0 - 1, cur.1 + 1);
|
||||
continue;
|
||||
}
|
||||
else if !cave_map.contains(&(cur.0 + 1, cur.1 + 1)) {
|
||||
cur = (cur.0 + 1, cur.1 + 1);
|
||||
continue;
|
||||
}
|
||||
else {
|
||||
cave_map.insert(cur);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn fill_cave_with_floor(cave_map: &mut HashSet<(u32, u32)>, lowest_tile: u32) -> (u32, u32) {
|
||||
let mut cur = (500, 0);
|
||||
|
||||
loop {
|
||||
if cur.1 == lowest_tile + 1 {
|
||||
cave_map.insert(cur);
|
||||
return cur;
|
||||
}
|
||||
else if !cave_map.contains(&(cur.0, cur.1 + 1)) {
|
||||
cur = (cur.0, cur.1 + 1);
|
||||
continue;
|
||||
}
|
||||
else if !cave_map.contains(&(cur.0 - 1, cur.1 + 1)) {
|
||||
cur = (cur.0 - 1, cur.1 + 1);
|
||||
continue;
|
||||
}
|
||||
else if !cave_map.contains(&(cur.0 + 1, cur.1 + 1)) {
|
||||
cur = (cur.0 + 1, cur.1 + 1);
|
||||
continue;
|
||||
}
|
||||
else {
|
||||
cave_map.insert(cur);
|
||||
return cur;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let input_text = include_str!("../input.txt");
|
||||
let (_rest, coord_lines) = parse_input(input_text).unwrap();
|
||||
|
||||
// Test parsing
|
||||
// print_coords(&coord_lines);
|
||||
|
||||
let (mut cave_map, lowest_tile) = coords_to_map(&coord_lines);
|
||||
|
||||
let mut units_of_sand = 0;
|
||||
loop {
|
||||
if !fill_cave(&mut cave_map, lowest_tile) {
|
||||
break;
|
||||
}
|
||||
units_of_sand += 1;
|
||||
}
|
||||
|
||||
println!("Units of sand needed: {units_of_sand}");
|
||||
|
||||
units_of_sand = 1;
|
||||
let (mut cave_map, _) = coords_to_map(&coord_lines);
|
||||
loop {
|
||||
if fill_cave_with_floor(&mut cave_map, lowest_tile) == (500, 0) {
|
||||
break;
|
||||
}
|
||||
units_of_sand += 1;
|
||||
}
|
||||
|
||||
println!("Units of sand needed with infinite length floor: {units_of_sand}");
|
||||
}
|
||||
2
advent_of_code/2022/14/test.txt
Normal file
2
advent_of_code/2022/14/test.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
498,4 -> 498,6 -> 496,6
|
||||
503,4 -> 502,4 -> 502,9 -> 494,9
|
||||
Reference in New Issue
Block a user